Local-First Software Principles

Local-first is a software design philosophy where the user’s device is the primary home for data β€” sync is secondary, not foundational.

Local-first software, articulated by Ink & Switch, flips the cloud-first default: your data lives on your device. The network enables collaboration and backup β€” it doesn’t gatekeep access.

The seven ideals (Ink & Switch):

  1. Fast β€” no network round-trip for reads/writes; everything is local
  2. Multi-device β€” data syncs across your devices when connected
  3. Offline β€” full functionality without a connection
  4. Collaboration β€” real-time or async collaboration still possible
  5. Longevity β€” the software works in 10 years even if the vendor is gone
  6. Privacy β€” data doesn’t have to leave your device
  7. User control β€” you own your data, you can export it, you can move

Why cloud-first became the default:

Collaboration and real-time sync are genuinely hard to implement locally. Cloud databases give you these for free. The cost is dependency β€” on uptime, on the vendor, on a connection.

The enabling technology:

CRDTs (Conflict-Free Replicated Data Types) are what make local-first sync practical. They allow independent edits on multiple devices to merge without a central authority deciding who wins.

Good fits for local-first:

  • Note-taking, writing tools (Obsidian, Logseq)
  • Creative tools (local asset storage with optional cloud)
  • Developer tools (git is the original local-first system)

See also: