A task board combining a clean UI with live collaboration, shared ownership, and a synchronized frontend-backend release workflow for structured, modern teams.
TaskBoard is a full-stack collaborative task management app with real-time updates, secure authentication, and typed APIs — built for fast, dependable team execution.
Socket.IO board rooms keep active workspaces in sync as lists, cards, comments, and member changes happen
Email/password auth is backed by HttpOnly cookies, with Google OAuth added for faster onboarding and stronger launch readiness
The app includes board management, member roles, due dates, activity history, polished auth screens, and responsive card workflows
Shared contracts, typed payloads, CI validation, and ordered deployment automation reduce drift between frontend, backend, and realtime behavior
TaskBoard was shaped as more than a basic Trello clone — it's a focused kanban platform built with real product thinking. Authenticated users can create boards, manage members, organize lists, move cards via drag-and-drop, enrich tasks, comment, and track activity.
Many task tools either feel visually clean but technically shallow, or feature-rich but operationally messy. The challenge here was to deliver a collaboration experience that stayed simple on the surface while still supporting secure auth, realtime updates, durable ordering logic, and a deployment model that would behave reliably in production.
I designed TaskBoard as a typed full-stack system with a React/Vite SPA, a NestJS API, a shared contracts package, PostgreSQL persistence through Prisma, and Socket.IO-based realtime updates. On the frontend, the focus stayed on clarity and speed. On the backend, the emphasis was on predictable contracts, secure cookies, controlled board membership, and a deployment flow that ensures the backend is live before the production frontend is released.
Solo Full-Stack Engineer
Defined the MVP around the most valuable collaboration loop: authenticate, create a board, structure work, move tasks forward, and keep teammates aligned in real time. This kept the scope disciplined while still making the product feel complete.
Built a clean React interface with distinct dashboard, auth, and board views. Priority was placed on navigation clarity, responsive layouts, intuitive creation flows, focused card editing, and drag-and-drop interactions that feel immediate instead of heavy.
Implemented a NestJS API with Prisma/PostgreSQL persistence, board membership controls, activity tracking, and Socket.IO board rooms. Ordering for lists and cards uses float-based positions so most move operations only need targeted writes instead of expensive reindexing.
Used a shared `@taskboard/contracts` package to keep schemas, DTOs, and event payloads aligned across the web app and API. On the client, TanStack Query handles fetching, invalidation, optimistic UX, and reconciliation after realtime events land.
Added HttpOnly cookie-based auth for session security, throttled auth endpoints, and Google OAuth for faster sign-in. Same-origin routing through Vercel rewrites keeps credentials handling practical in production.
Shipped the web app to Vercel, the API to Render, and the database on Neon Postgres. Production delivery uses a two-stage GitHub Actions flow: CI validates the codebase first, Render updates the backend, then the frontend deploy is triggered only after the API health check reports the expected commit.
Delivery Window
Structured as a practical MVP with enough depth to feel production-capable, not just demonstrative.
Responsive Coverage
The interface is designed to remain usable and visually coherent across the dashboard, auth, and board surfaces.
Scalable Foundation
The architecture leaves room for future expansion such as richer notifications, board templates, attachments, advanced filtering, and deeper workspace analytics.