Local-first software is a design philosophy and set of technical principles where applications store all data on the user’s own device. The network is optional β€” used for sync and collaboration when available, never as the gatekeeper to your own files. The manifesto was articulated by Ink & Switch in 2019, in contrast to the prevailing cloud-first model where your data lives primarily on a server you don’t control.

The core tension local-first resolves: cloud apps offer seamless collaboration but surrender data sovereignty; traditional desktop apps offer ownership but isolation. Local-first targets both simultaneously.

Seven Ideals (Ink & Switch)

The original local-first paper described seven properties that define the ideal:

  1. No spinners β€” The app works instantly, without network round-trips for every action
  2. Your work is not trapped on one device β€” Data syncs to all your devices
  3. The network is optional β€” Full functionality offline; connectivity enhances, not enables
  4. Seamless collaboration β€” Multiple users can edit simultaneously without conflicts
  5. The long now β€” Files remain readable and editable decades from now, without vendor lock-in
  6. Security and privacy by default β€” Data encrypted at rest and in transit; no server sees plaintext
  7. You retain ultimate ownership β€” You can always access and export your data; the vendor going dark doesn’t destroy your work

Key Technologies

Local-first requires specific technical primitives:

  • CRDTs (Conflict-free Replicated Data Types): Data structures that merge concurrent edits without conflicts or central coordination β€” the mathematical foundation for offline-first collaboration. See CRDTs
  • End-to-end encryption: Client-side encryption ensures sync servers handle only ciphertext they cannot read
  • Append-only logs: Immutable event logs that can be replicated and merged deterministically
  • Peer-to-peer sync: Direct device-to-device sync without intermediary servers (e.g., Iroh, Syncthing)

Contrast with Cloud-First

Cloud-firstLocal-first
LatencyRound-trip to serverInstant (local read/write)
OfflineDegraded or brokenFull functionality
OwnershipVendor holds dataUser holds data
CollaborationReal-time via serverCRDT-based, eventually consistent
LongevityTied to vendor’s uptimeFiles persist indefinitely
PrivacyServer sees dataOptional server visibility

Trade-offs

Local-first is not without costs:

  • Sync complexity: CRDTs and conflict resolution are hard to implement correctly
  • Storage: Each device holds a full copy; large datasets multiply storage requirements
  • Discovery: Finding collaborators requires some rendezvous mechanism (a relay server or DHT)
  • Backup: The user is responsible for backups β€” cloud apps provide this by default
  • Cross-platform: Building offline-capable apps across web, mobile, and desktop requires careful architecture

Examples

  • Obsidian: Notes stored as local Markdown files; sync is optional and user-controlled
  • Linear (partially): Optimistic UI with local cache; not fully local-first
  • Automerge / Yjs: CRDT libraries for building local-first collaborative apps
  • Holochain: Agent-centric distributed apps where each agent’s Source Chain is their authoritative local record
  • CRDTs β€” The data structure enabling conflict-free offline collaboration
  • Holochain β€” Agent-centric framework built on local-first principles
  • Decentralized Web β€” Broader movement toward user-owned internet infrastructure
  • Governance and Community β€” Data sovereignty as a governance principle

References