MULTIPLAYER
Doodler
A multiplayer canvas where many users draw, edit, and chat in the same room — built on WebSockets with CRDTs for conflict-free state.
The interesting problem is not drawing — it is keeping every client in agreement when they go offline, reconnect, and merge changes. CRDTs solve the sync. Presence and cursor sharing make it feel alive.
Stack: Node.js + ws on the server, Yjs for shared state, React + Canvas API on the client, Redis for room state and presence, deployed on Railway.
- CRDT-backed sync that survives offline edits and reconnects.
- Presence layer with cursors, names, and activity indicators.
- Sub-100ms p95 echo latency in the same region.