Problem Statement 1 - Real-Time Collaborative Document Editing System
Problem Statement 1 - Real-Time Collaborative Document Editing System
You are tasked with designing and implementing a real-time collaborative document editing
platform similar to Google Docs or Notion (Block based) but with a scalable microservices
architecture. The system must support operational transformation (OT) and conflict
resolution, ensuring that multiple users can edit the same document simultaneously with
minimal latency.
Implement a version control system for efficient retrieval and rollback. (Optional: A
strategy to reduce frequently recorded operations after the confirmation of merging them
into the document
Deliverables:
Evaluation criteria:
1. Architecture & Scalability – How well is the microservices-based system structured?
2. Real-time Collaboration – Effective use of WebSockets, OT, or CRDT.
3. Data Storage & Optimization – Efficient document versioning and retrieval.
4. Security & Access Control – Proper implementation of authentication (OAuth2/JWT)
and RBAC.
5. Graph DB & AI Integration – Use of Neo4j for document/user relationships and
AI-based enhancements.
6. Code Quality & Documentation – Clean, modular, and well-documented code.
Remarks:
This is a challenging but exciting problem that touches on some of the most advanced
concepts in real-time collaboration, microservices, and AI-driven document management.
Successfully implementing even a portion of this will showcase strong problem-solving
abilities, system design skills, and practical engineering knowledge.
We understand that 48-60 hours is a limited time frame, so the focus is not just on the
completeness of the solution but also on your overall approach, architectural decisions,
and how you tackle key challenges. Even if certain aspects remain incomplete, a
well-structured design, clear thought process, and strong understanding of trade-offs will
be highly valued.
If you have time, we encourage you to explore microservices design patterns, as they will
help in designing scalable and maintainable systems.
🚀
This is a great opportunity to demonstrate your expertise—best of luck! We’re excited to see
your solution!
Some resources for you to follow to understand microservices and distributed database
patterns:
1. Microservices.io
2. Microservices Design Patterns
3. What Is A Distributed Database? | MongoDB