Local-First Software
A comprehensive map of local-first software — from foundational philosophy and CRDTs to sync engines, tooling, and real-world production stories.
A comprehensive map of local-first software — from foundational philosophy and CRDTs to sync engines, tooling, and real-world production stories.
by brooklyn-zelenka
Auth must travel with data in local-first — Keyhive solves this with capability-based certificate chains and a membership CRDT, making the sync server unable to read your data while keeping the UX as boring as a Google Docs share button.
by alexander-opalic
Vue already syncs your refs to the DOM. Sync engines extend that same idea to databases — keeping client state and server state in harmony. Here's how Replicache, Zero, Convex, PowerSync, LiveStore, Jazz, and Dexie each approach this differently.
by m-palanikannan
Shipping CRDTs to real users teaches lessons no demo can: save the binary as source of truth, never overwrite—always merge, and build fallbacks for when WebSockets inevitably die.
by cultrepo
Local-first isn't just offline capability—it's a paradigm shift where data lives on user devices by default, servers become optional infrastructure, and CRDTs enable collaboration without sacrificing ownership.
by peter-van-hardenberg
Ink & Switch's three-part vision: local-first software enables universal version control, which enables malleable software — and the philosophical endgame is turning people from app buyers into tool users.
by martin-kleppmann
Martin Kleppmann traces local-first from CRDTs to a proposed definition: software where another computer's availability never blocks the user—including when the developer shuts down.
by martin-kleppmann, adam-wiggins, peter-van-hardenberg, mark-mcgranaghan
A foundational essay proposing that data ownership and real-time collaboration are not mutually exclusive, introducing CRDTs as the enabling technology for local-first software.
by adam-fish
CRDTs are a solid substrate for sync engines, but transport reliability, multiplexing, compression, query-based sync, and distributed deletes are the harder — and more valuable — engineering challenges.
by angelique-nehmzow
Notion's block model breaks every standard CRDT assumption — they had to invent text slices, text instances, and search labels to make conflict resolution work across a document editor where blocks constantly split, merge, and move.