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
- CRDT vs OT for conflict resolution
- WebSocket session/presence management
- Persistence and version history
- Large-document partial loading
- Offline edits and reconciliation
added …