CODESEEDSign in
Explore projects
TypeScriptadvancedbackend

CRDT-based Collaborative Data Store

Collaborative data store with CRDT (Conflict-free Replicated Data Types): automatic serverless merging, offline-first, peer-to-peer sync.

5 steps

Project steps

  1. 01

    Yjs document

    Y.Doc with Y.Map, Y.Array, Y.Text; local operations apply instantly.

  2. 02

    IndexedDB persistence

    y-indexeddb: persists document state offline.

  3. 03

    WebSocket sync

    y-websocket server: synchronizes documents between connected clients.

  4. 04

    Awareness

    Yjs awareness protocol: cursors, selections, and user presence.

  5. 05

    Undo/redo

    Y.UndoManager per user; undo only affects their own operations.

Recommended resources

Ready to build this?

Fork the repo on GitHub and start building. A mentor will review your code when you open a PR.

5 steps

Tech stack

TypeScriptYjsy-websocketIndexedDBReact