Real-time collaboration, offline-first

The first collaborative version of Palimpsa is live. Two people can now edit the same document at the same time and see each other's caret in the prose.

We chose Yjs CRDTs because they merge clean even when peers go offline. The actual data path is:

  1. Edits become CRDT operations in your local browser.
  2. Operations sync to peers over WebRTC (no server in the keystroke path).
  3. Every 1.5 seconds, a debounced snapshot goes to Firestore as a safety net.
  4. Your IndexedDB is the canonical local copy. Reload, and the document loads from local first; the snapshot reconciles in the background.

The trade-off this stack makes is in favour of writers, not infrastructure. You can type on a plane, on a train, or with the WiFi off, and your work is saved. When you reconnect, it merges. There is no save dialog.

The signaling servers we use today are the public Yjs defaults. That's fine for now; we'll self-host them when traffic warrants it.

ShareX / TwitterLinkedInEmailRSS

Related — Releases

Releases

Palimpsa 2.0 — the academic operating system

Three months. Every year. Returned. The promise, the math, and what shipped today.

Releases

The research panel ships

Federated search across arXiv, OpenAlex and CrossRef. PDF text search. Citation insert. The reason we built another writing tool.