← Work
022024

Task Board

Year

2024

Role

Full-stack engineer

Platform

Web · Client project

The problem

The team was tracking sprint work in a shared doc nobody kept in sync, so status was always stale by the time anyone looked at it.

The product
Task Board / Sprint 4
To do
Design cart flow
Write API contracts
In progress
Auth middleware
Board drag handlers
Done
Project schema
Socket.io setup
My role

Built the board UI, the drag-and-drop interaction model, and the real-time sync layer connecting every open client.

Engineering

architecture

Next.js client, an Express API for board/column/card CRUD, and a Socket.io layer running alongside it for live updates.

frontend

Drag-and-drop built directly on pointer events rather than a library, so reordering stays in sync with the server without fighting an abstraction.

backend

PostgreSQL via Prisma models boards, columns, and cards with ordered positions; Express exposes REST endpoints for the initial load and mutations.

cloud

Socket.io broadcasts board mutations to every client in the same board room, so a drag on one screen appears on every other screen within a beat.

The hard part

Keeping card order consistent when two people move cards close together in time — the naive approach causes cards to jump. I used a fractional-position ordering scheme so concurrent moves resolve without a full re-sort.

The result

Sprint status became visible in real time instead of stale-by-a-day, and the team stopped needing a stand-up just to find out what moved.

Next project — PulseChat →
Available for new projects

4+

Years exp.

8+

Projects shipped

<6h

Avg. reply time

Let's build something

Tell me about your project.

Share what you're building, your timeline, and the best way to reach you.