Real-time Collaborative Whiteboard
A shared canvas where multiple users draw, add sticky notes, and see each otherβs cursors in real time, with rooms and persistence.
How to build it step by step
- 1Drawing engine: Capture strokes on the Canvas API and serialise them as drawing operations.
- 2Sync: Broadcast operations over WebSockets; apply remote ops to keep canvases consistent.
- 3Presence: Show live cursors and selection per user; handle join/leave.
- 4Persistence: Store the operation log per room so late joiners can replay the board.
Key features to implement
- βMulti-user drawing
- βLive cursors
- βSticky notes and shapes
- βRoom-based boards
- βReplayable history
π‘ Unique twist to stand out
Implement conflict-free merging with a simple CRDT so concurrent edits never corrupt the board state.
π What you'll learn
Real-time sync, Canvas API, operational transforms/CRDTs, and presence systems.