Real-Time Backend
Automerge
Two users edit the same document offline on a plane. They land and the changes need to merge. Without CRDT that's a manual conflict. With Automerge it's automatic in milliseconds.
- Logseq, a note graph with 300k+ active users, uses Automerge to sync between devices without a central server. A user edits their laptop and phone offline, and on reconnect conflicts resolve automatically
- Actual Budget stores financial transactions as an Automerge document. The sync server only sees encrypted binary blobs and can't read the data - privacy-first architecture on CRDT
- Ink & Switch Research Lab (the creators of Automerge) published the local-first software manifesto (2019, ~50k reads). Their PushPin collaborative canvas showed that P2P apps with CRDT work more reliably than centralized ones on unstable connections
- Figma uses its own CRDT system for real-time collaborative editing with <100ms latency for 50+ concurrent users - commercial proof that the approach scales
What Automerge is
**Automerge** is a CRDT library that turns a regular JavaScript object into a data structure that auto-merges conflicting changes. Ink & Switch Research Lab built it as the foundation for local-first apps: data lives on the device and syncs between peers without a central server.
Core idea: every document change gets a unique identifier (actor ID + sequence counter). When merging two versions, Automerge applies deterministic rules that guarantee the same result regardless of the order changes arrive.
Automerge ships in projects like PushPin (collaborative canvas from Ink & Switch), Logseq (local knowledge base with 300k+ users), and Actual Budget (a finance app with local data). The v2.0 library was rewritten in Rust with WebAssembly bindings - the binary storage format is 10x smaller than JSON.