Task manager
Realtime kanban for small teams: boards, roles, live updates over WebSockets.
What it does
A kanban board for small teams: columns, cards, drag-to-reorder, and per-board roles so not everyone can rename a column or delete a card. Changes made by one person — moving a card, adding a comment — show up on teammates' screens without a refresh, which is the actual point of a shared board.
How it's built
React on the frontend, a Node.js backend, MongoDB for boards, cards and their ordering. Socket.io carries live updates: the server broadcasts a diff on every mutation and connected clients patch their local state rather than refetching the board. Card order is stored as a sortable position rather than an array index, so reordering one card doesn't require rewriting every other card's position. Roles are checked server-side on every mutation, not just hidden client-side, since the client can't be trusted to enforce its own permissions.