Design a Real-Time Collaborative Design Editor

Problem

Design the backend for a real-time collaborative editor (multiple users editing a CAD/design doc together — Autodesk's domain).

Requirements

Functional:

  • Multiple users edit the same document live
  • See others' cursors/changes in real time
  • Conflict resolution on concurrent edits
  • Version history

Non-functional:

  • Thousands of concurrent docs
  • Low-latency sync
  • No lost edits

Discussion points

  1. CRDT vs OT for conflict resolution
  2. WebSocket session/presence management
  3. Persistence and version history
  4. Large-document partial loading
  5. Offline edits and reconciliation
added …
LeaderboardSalaryAccount