Real-Time Collaborative Markdown Editor
Build a multi-user Markdown editor where several people can edit the same document simultaneously and see each other's changes merge without conflicts, using a CRDT for conflict-free collaborative state. Learners practice CRDT-based state synchronization, WebSocket transport, and operational data structures under concurrent edits.
- Estimate
- ~13.5h
- Steps
- 6
- Completed by
- 0
- Proposed by
- codeseed.app
Yjs · React · WebSocket · CodeMirror
Project roadmap
- 01
Set up the editor UI
~2hBuild a React app embedding a CodeMirror-based Markdown editor.
- 02
Integrate a Yjs CRDT document
~2.5hBind a Yjs shared document to the editor's text content.
- 03
Build a WebSocket relay server
~2.5hImplement a server that relays Yjs updates between connected clients.
- 04
Add presence indicators
~2hShow other users' cursors and selections in the shared document.
- 05
Handle offline edits and reconnection
~2.5hQueue local edits made offline and merge them correctly upon reconnection.
- 06
Load-test concurrent editing
~2hSimulate multiple concurrent editors and verify the document converges correctly.
Resources
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack