012025Full-stack

Nexus.

A modern project management workspace built to demonstrate scalable React architecture and intuitive task workflows.

React 18ViteTailwindCSSZustandReact QueryRecharts
Nexus preview
Overview

Nexus is a full-stack project management tool with Kanban boards, squad-based workspaces, real-time search, and an analytics view spanning five chart types. The goal was to design a product that holds up under real-world feature pressure: clean state boundaries, optimistic UI, and a UX that stays calm as complexity grows.

Charts5 types
StateZustand slices
Data layerReact Query
StackFull-stack
01 / The Problem

What this project set out to solve.

Most project management tools sit at one of two extremes: heavyweight enterprise suites like Jira that drown small teams in configuration, or barebones to-do lists that fall apart the moment work spans multiple people.

I wanted to design something that could carry real product weight (Kanban, squads, analytics, search) while keeping the UI quiet and the codebase navigable. The deeper goal was to prove I could architect a non-trivial frontend with clean boundaries instead of one monolithic store.

02 / The Approach

How it came together.

I split state into two layers: client state (board view, filters, squads) lives in Zustand slices, and server state (tasks, members, metrics) lives in React Query. That separation means cache invalidation never collides with UI state, a problem I have seen sink Redux-based apps.

For the Kanban board I leaned on @dnd-kit with optimistic mutations via React Query, so drag-drops feel instant and roll back cleanly on server error. The analytics view memoizes chart inputs aggressively because Recharts re-renders are expensive at scale.

03 / Architecture

Stack & structure.

01

Frontend

  • React 18 + Vite
  • TailwindCSS for styling
  • Zustand (board / squads / filters slices)
  • React Query (server cache + optimistic mutations)
  • Recharts for the analytics dashboard

Zustand was chosen over Redux to keep state colocated with the features that own it.

02

Backend

  • Node.js + Express
  • MongoDB
  • JWT auth
  • RESTful resource APIs
04 / Key Features

What you can actually do.

01

Kanban with drag & drop

Optimistic moves powered by @dnd-kit and React Query mutations.

02

Squad management

Group members into squads with scoped boards and analytics.

03

Real-time search

Debounced, multi-field fuzzy search across tasks and members.

04

Analytics dashboard

Five chart types covering velocity, distribution, and progress.

05

Auth + sessions

JWT-secured sessions with protected routes and role-aware UI.

06

Responsive layout

Designed mobile-first so the board collapses cleanly on small screens.

05 / Challenges & Learnings

What was hard, and what I took from it.

Drag-drop without flicker

Pairing optimistic UI with a real server is harder than it looks. Naive implementations briefly snap back. I solved it by keying mutations to the dragged task and rolling back only the affected card on failure.

Analytics aggregation cost

Recharts re-renders on every state tick. I memoized series at the selector level and avoided derived-state recomputation by holding aggregates outside React render scope.

06 / Outcome

What I shipped.

  • Shipped a full-stack PM tool with end-to-end auth, board, squad, and analytics flows.
  • Codebase organized around feature-owned state slices rather than a single global store.
  • Demonstrates judgment around when to reach for Zustand, React Query, and memoization.
Next case study

CollabBoard

A real-time collaborative whiteboard where teams sketch, brainstorm, and persist their ideas, together.

Back to all projects
© 2026 Vishwa Limbani