A Miro/Figma-class whiteboard built on Yjs CRDTs, React Flow, and a purpose-built WebSocket sync service. Multiplayer cursors, conflict-free edits, and a 60 FPS viewport — with the full architecture documented inside the product.
Strict boundaries between the canvas engine, UI overlay, and networking layer — every file belongs to exactly one.
Zustand for ephemeral local state; Yjs CRDTs for replicated truth. Awareness for presence. Never the twain shall mix.
Yjs nested maps, awareness protocol for cursors, Y.UndoManager for per-user undo that never clobbers peers.
React Flow virtualisation, rAF-throttled cursor broadcast, memoised node bodies, controlled state with no echo loops.
Sticky notes, text, shapes, AI-generated images — all editable inline with live sync.
Drag-to-connect nodes with animated bezier edges, custom colours, and labels.
Start from flowchart, mindmap, or retro templates. Export your board as PNG.