Skip to main content

Feature Deep Dive

Real-Time Collaboration

Conflict-free editing powered by Y.js CRDTs

01.Why CRDTs?

Conflict-free Replicated Data Types (CRDTs) guarantee that concurrent edits from multiple users always converge to the same result — without a central server arbitrating conflicts. This means true offline-first editing with automatic sync when reconnected.

  • Y.js for structured CRDT data types
  • Automatic conflict resolution — no merge dialogs
  • Offline-first with background sync
  • Sub-100ms update propagation over WebRTC

02.Live Presence & Cursors

The Y.js awareness protocol powers live cursor positions, typing indicators, and user presence badges. Every collaborator sees who is editing which cell or paragraph in real time, with color-coded cursors and name labels.

03.CRDT-to-Postgres Persistence

Y.js state vectors are serialized to Postgres via UNNEST bulk upserts. The Sync Epoch system prevents orphan rows, and delta dispatch ensures only changed cells are written to the database. This gives you the best of both worlds — CRDT speed for editing, SQL durability for storage.

Experience real-time collaboration

Get Started Free