LiveBoard / docsProject documentation

Explanation

Product and Architecture Tradeoffs

Understand the design decisions, alternatives, and limits.

LiveBoard deliberately avoids several features that would change the collaboration model. Character-by-character text editing would require string-range operations and conflict handling inside one text object. Share links and role tiers would expand the access model beyond owner-managed membership. Image uploads and export would introduce storage, rendering, and security surfaces that are orthogonal to the core realtime operation engine.

The central architecture tradeoff is using server-serialized operations rather than a fully peer-to-peer or CRDT-first editor. Offline merging becomes less ambitious, but the system gains one authoritative revision order, one shared undo/redo history, and straightforward recovery after missed Pub/Sub messages. For small synchronous sessions, that exchange is worth taking.

  • PostgreSQL authority simplifies recovery and history, but every durable edit must pass through the backend.
  • Transient previews keep dragging fluid, but they must be discarded on rejected writes or revision refreshes.
  • JSON canvas state is easy to patch and broadcast, but validation must enforce shape-specific rules.
  • Whole-object text editing keeps collaboration simple, but it does not support rich text ranges.