BoardSync is building a real-time collaborative whiteboard. Multiple users open the same board and draw simultaneously. Features:
- Drawing tools - freehand pen, shapes (rectangles, circles, arrows), text boxes, sticky notes, and image uploads.•Real-time sync - all changes appear on other users' screens within 200 ms. Users see each other's cursors moving in real time.•Canvas - an infinite canvas that users pan and zoom. Objects are positioned on a coordinate system.•Undo/redo - per-user undo/redo stack. Undoing your action shouldn't undo someone else's.•Export - export the board as PNG, SVG, or PDF.•Templates - pre-built templates for flowcharts, mind maps, Kanban boards, and retrospectives.•Permissions - board owner controls who can view, edit, or comment.
Targeting 100,000 boards with up to 50 concurrent editors per board and 500,000 total DAU.
Design a real-time collaborative whiteboard (like Miro/Excalidraw) with drawing, shapes, sticky notes, and multi-user cursors. Build this architecture under realistic production constraints, then validate tradeoffs in the design lab simulation.
Request path: The solution keeps ingress, service logic, and stateful dependencies separated so each layer can scale independently.
Reference flow: Web Clients -> Load Balancer -> API Gateway -> API Service -> Primary NoSQL DB -> Realtime Bus -> Object Storage