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):
- Fast β no network round-trip for reads/writes; everything is local
- Multi-device β data syncs across your devices when connected
- Offline β full functionality without a connection
- Collaboration β real-time or async collaboration still possible
- Longevity β the software works in 10 years even if the vendor is gone
- Privacy β data doesn’t have to leave your device
- 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: