Year2025
RoleLead Full-Stack Engineer
Duration4 months
ClientInternal Product
StackReact, Node.js, WebSocket, PostgreSQL
Realtime Task Manager application dashboard showing collaborative task board

The challenge

The product team relied on a legacy task management tool with 5-10 second polling intervals for updates. Users constantly asked "are we synced?" in Slack, context-switching killed productivity, and the system had no offline support — meaning field engineers lost work when connectivity dropped.

The goal: build a realtime collaboration platform with instant updates, offline-first data persistence, and a UI that scales from solo focus work to large project boards with 20+ columns.

The approach

I architected a WebSocket-driven sync layer using a custom CRDT-inspired conflict resolution strategy. The frontend uses React with virtualized lists (react-window) for boards with 500+ tasks. Optimistic UI updates ensure actions feel instant while the server confirms writes asynchronously.

Key architectural decisions included:

  • WebSocket multiplexing — single connection per client, multiple channels for different boards, reducing server load by 73%
  • IndexedDB persistence — full offline support with background sync queue, ensuring zero data loss during connectivity drops
  • Row-level security in PostgreSQL — granular permissions without application-level middleware overhead
  • Keyboard-first interface — Vim-inspired shortcuts for power users, reducing mouse dependency by 60%

The outcome

  • Sub-50ms update latency across all connected clients
  • 80% reduction in "are we synced?" messages in Slack
  • 12,000 daily active users within the first quarter
  • 99.9% uptime since production launch
  • 68% faster page loads compared to the legacy tool
  • Design system adopted by 3 additional internal departments

Technical highlights

The WebSocket layer handles 15,000+ concurrent connections per server instance. Connection pooling with PgBouncer keeps PostgreSQL responsive under load. The entire frontend bundle is 127KB gzipped — achieved through aggressive code splitting, tree shaking, and lazy-loading non-critical routes.

Monitoring uses a custom OpenTelemetry pipeline feeding into Grafana, giving the team visibility into p99 latencies, connection health, and sync conflict rates in real time.

Like what you see?

Have a project I could help with? Let's talk.

Get in touch