HLD-317·Messaging & Fan-out
Hard · 1,500 ptsMultiplayer Infinite Canvas & CRDT Vector Sync (Figma/Miro)
Design Figma / Miro’s real-time multiplayer board server synchronizing CRDT vector property deltas, viewport-culled cursors, and durable board snapshots.
Max p99
≤ 55 ms
Availability
≥ 99.5%
Budget
≤ $8,300
Functional Requirements
- FR-1POST /boards/{board_id}/ops — Sequences fractional-index CRDT node mutations and persists WAL.
- FR-2GET /boards/{board_id}/state — Loads latest compacted snapshot + recent op log for joining editors.
- FR-3PATCH & DELETE /boards/{board_id}/ops — Updates, cancels, or deletes board_id records and immediately invalidates or updates cached state (read-after-write).
- FR-4Joining/refreshing editors must see latest committed strokes (read-after-write) under 55ms p99.
Workload Profile
Workday Workshops42,000 State/Sync Read RPS / 11,000 CRDT Op RPS
All-Hands Brainstorm Peak115,000 Read RPS / 28,000 Op Write RPS
Active Working Set30 GB active multiplayer scene graphs
Contention Profile500 simultaneous editors mutating the same board_id room
Consistency Model
Read-after-write snapshot + WAL replay per board_id so page reloads never drop recent vector edits.
Solutions Locked
Sign in and either achieve AC or complete 3 official submissions on this question to inspect community diagrams and writeups.
Loading solutions...
Submission History (0)Select to replay
No submissions yet
Click Submit in the top bar to evaluate against all 7 judge cases and save each run here.
Design Write-up
0 boxes · 0 edges
0 words