Local-First Software

Software designed so the primary copy of a user's data lives on their own device — synced via open standard protocols and CRDT libraries such as Automerge — giving offline access, speed, resilience against provider shutdown, and genuine user ownership and portability; the principle Kleppmann applies across collaboration software (local-first) and decentralised social media (AT Protocol/BlueSky) to reduce vendor lock-in.

Also known as: local-first, local-first software, local-first movement, offline-first, primary copy on device, data agency, data portability, CRDT, CRDTs, Automerge, AT Protocol, atproto, Personal Data Server, open sync protocol

Client-Side Event Sourcing

How authors use it

Oldest first (extraction date when no publication date is known).

AuthorTheir termTheir meaning
Podcast: Increasing Users' Data Agency: From BlueSky's AT Protocol to the Local-First Software Movement
Martin Kleppmann · 2026-07-06
local-first softwareA set of design principles and values (not a protocol) for collaboration software in which the primary copy of the data lives on the user's own machine — giving offline access, faster interaction without network round-trips, resilience against provider shutdown or lockout, and genuine user ownership — realized by libraries such as Automerge.
Podcast: Increasing Users' Data Agency: From BlueSky's AT Protocol to the Local-First Software Movement
Martin Kleppmann · 2026-07-06
AT Protocol (atproto)The decentralised protocol underlying BlueSky: user data lives in Personal Data Servers, a Relay aggregates all activity into a firehose, and anyone can build indexing services on it; designed to give a UX indistinguishable from a centralised network while guaranteeing users can switch providers without loss.
Podcast: Increasing Users' Data Agency: From BlueSky's AT Protocol to the Local-First Software Movement
Martin Kleppmann · 2026-07-06
Personal Data Server (PDS)A per-user data store holding a user's posts, replies, and social graph, portable between providers so switching loses nothing.
Podcast: Increasing Users' Data Agency: From BlueSky's AT Protocol to the Local-First Software Movement
Martin Kleppmann · 2026-07-06
AutomergeAn open-source CRDT library (written in Rust, compiled to WebAssembly with Swift/Java/Python/Go/C bindings) providing a data model that auto-syncs across machines and supports both real-time collaboration and Git-like branch/diff/merge/history, for many file types.
Podcast: Increasing Users' Data Agency: From BlueSky's AT Protocol to the Local-First Software Movement
Martin Kleppmann · 2026-07-06
open (standard) sync protocolA shared, non-proprietary syncing protocol — like Git's push/pull — that lets multiple interchangeable providers serve the same data, dissolving lock-in while retaining cloud sync's convenience; the missing ingredient in Google Docs.
How to Build More Resilient Local-First Applications With AT Protocol Infrastructure
Olimpiu Pop · 2026-07-13
local-firstHere narrowed to mean specifically: user data lives in a PDS and apps sync via shared atproto infrastructure, as opposed to the broader local-first movement's general principle of offline-capable apps that own their local data.
Podcast: Rethinking Data: Moving From the Traditional Three-Tier Web Stack to Client-Side Event Sourcing
Johannes Schickling · 2026-07-27
Local-FirstA design principle where the client (not the server) holds the primary copy of data and processes changes immediately, giving offline access and no-round-trip speed — distinct from mere 'offline mode' bolted onto a cloud-first app.
Podcast: Rethinking Data: Moving From the Traditional Three-Tier Web Stack to Client-Side Event Sourcing
Johannes Schickling · 2026-07-27
CRDT (conflict-free replicated data type)In Schickling's framing, a mutable-object abstraction (object, array, set, counter) with automatic, deterministic merge semantics across replicas — contrasted against event sourcing's append-only, replay-based model.

Documents (3)

Propositions touching this concept (31)

By publication month, oldest first (extraction month when no publication date is known).

2026-05

2026-07

Open gaps (11)