Feature/Project Proposal
I would like to propose a CRDT-Powered Real-time Collaborative System Design Whiteboard.
Problem Statement
Currently, users have no built-in way to practice system design interviews collaboratively with a peer. External tools like Excalidraw must be used, which breaks the integrated experience.
Proposed Solution
The project could integrate a custom canvas-based whiteboard utilizing Conflict-free Replicated Data Types (CRDTs) like Yjs or Automerge. This ensures lock-free, zero-latency drawing synchronization between two peers practicing a system design question.
Alternatives Considered
Another possible solution is using Operational Transformation (OT), but CRDTs offer better offline capabilities and are easier to scale in a decentralized peer-to-peer setup.
Benefits
This feature would make PrepPilot a one-stop-shop for both coding and system design, significantly increasing user retention and session length.
Priority
High
Additional Context
Consider using Yjs paired with React Flow or a raw Canvas API.
Checklist
Feature/Project Proposal
I would like to propose a CRDT-Powered Real-time Collaborative System Design Whiteboard.
Problem Statement
Currently, users have no built-in way to practice system design interviews collaboratively with a peer. External tools like Excalidraw must be used, which breaks the integrated experience.
Proposed Solution
The project could integrate a custom canvas-based whiteboard utilizing Conflict-free Replicated Data Types (CRDTs) like Yjs or Automerge. This ensures lock-free, zero-latency drawing synchronization between two peers practicing a system design question.
Alternatives Considered
Another possible solution is using Operational Transformation (OT), but CRDTs offer better offline capabilities and are easier to scale in a decentralized peer-to-peer setup.
Benefits
This feature would make PrepPilot a one-stop-shop for both coding and system design, significantly increasing user retention and session length.
Priority
High
Additional Context
Consider using Yjs paired with React Flow or a raw Canvas API.
Checklist