A curated list of local-first software, resources, and development tools. Local-first software prioritizes data ownership, offline functionality, and synchronization — keeping user data primarily on their devices.
Contributions are closed. This repository no longer accepts pull requests or project submissions. Please read the contribution policy below.
- Local-First Software – The original article introducing local-first principles by Ink & Switch
- Building Local-First Software – Academic paper on local-first principles
- Why Haven't Local-First Apps Taken Off? (2025) – Examines distributed complexity and adoption barriers
- I Was Wrong. CRDTs Are the Future – Joseph Gentle (ex-Google Wave) on why he abandoned OT for CRDTs
- You Might Not Need a CRDT – When CRDTs are overkill and alternative sync approaches
- Local, First, Forever – Tonsky on building local-first sync on top of plain file storage
- Home-Cooked Software and Barefoot Developers – Maggie Appleton on personal, local software enabled by AI
- Are Sync Engines the Future of Web Applications? – Deep dive into sync engine design
- Building Data-Centric Apps with a Reactive Relational Database – Reactive DB patterns by Riffle
- End-to-End Encryption in the Browser – E2E encryption technical breakdown
- Designing Data Structures for Collaborative Apps – Practical guide to CRDT structure design
- How CRDTs and Sync Engines Keep Realtime Lists Ordered with Fractional Indexing – Liveblocks walkthrough of fractional indexing for conflict-free ordering of items in collaborative lists
- Beehive (Ink & Switch 2024) – Decentralized access control and convergent capabilities
- Ossa Protocol (2025) – Open universal sync protocol for local-first interoperability
- Implementing Local-First Architecture: A CTO's Guide – Practical guide covering schema migrations, encryption, and the server's changed role
- Building More Resilient Local-First Software with atproto – Jake Lazaroff on using atproto as a sync-server foundation for local-first apps
- Peritext: A CRDT for Rich-Text Collaboration – Novel algorithm for merging concurrent rich-text edits
- Pushpin: Towards Production-Quality P2P Collaboration – Lessons from building a fully peer-to-peer collaborative corkboard
- Project Cambria: Translate Your Data with Lenses – Bidirectional schema evolution for local-first apps
- Upwelling: Real-time Collaboration + Version Control – Combines CRDT collaboration with branch-like "layers" for writing privacy
- Patchwork: Towards Universal Version Control – Branching, diffing, and history for all kinds of apps beyond code
- Why Superhuman Is Built for Speed – Applying the 100 ms rule
- A Gentle Introduction to CRDTs – Beginner-friendly CRDT explanation
- CRDTs Go Brrr – Deep dive into CRDT performance optimizations
- Are CRDTs Suitable for Shared Editing? – Yjs creator benchmarks CRDT overhead
- What Is Local First? – Overview by Peter van Hardenberg
- Local-First Development – Introduction to local-first concepts
- Local-First Conf 2024 – Full conference playlist
- SyncConf 2025 (Preview) – Conference focused on synchronization
- CRDTs for Mortals – James Long (dotJS 2019) – Approachable intro to CRDTs through building a personal finance app
- CRDTs: The Hard Parts – Martin Kleppmann (Hydra 2020) – Real-world CRDT challenges: move operations, interleaving, and performance
- Practical CRDTs – Schalk Venter – Applied walkthrough of CRDTs in local-first architecture
- Jared Forsyth's Local-First Database Series – Evaluations of local-first databases against core criteria
- Bartosz Sypytkowski's CRDT Blog Series – 22-post series covering state-based and operation-based CRDTs
- The Spectrum of Local First Libraries – Practical comparison of Triplit, Evolu, Zero, LiveStore, and others
- Comparing Local-First Frameworks (Neon) – Technical comparison of local-first frameworks
- Choosing a Sync Engine in 2026 – First-hand selection guide across modern sync engines
- Electric SQL – Sync Postgres data into local apps with offline support
- WatermelonDB – Reactive DB for React / React Native
- Fireproof – Browser-native local-first database
- Evolu – Type-safe offline-first database with sync
- Dexie.js – IndexedDB wrapper with sync
- TanStack DB (2025) – Reactive client-side data layer with optimistic mutations and sync engine support
- LiveStore (2024) – Event-sourced local-first framework using in-memory SQLite
- Triplit – Full-stack sync engine + database (acquired by Supabase 2025)
- InstantDB (2024) – Firebase-style backend with offline & real-time sync
- Zero (2024) – Reactive sync engine from the Replicache team
- RxDB – Reactive NoSQL DB with replication, encryption, multi-tab
- PowerSync – Offline-first sync engine for mobile/web
- Y-Sweet – Open-source Yjs sync and persistence server (self-hosted)
- Turso Sync (2025) – Sync local SQLite with edge-hosted SQLite
- PouchDB – Classic offline-first JS database with CouchDB sync
- GUN.js – Decentralized P2P graph database with CRDT-based conflict resolution
- OrbitDB – Serverless P2P database on IPFS using Merkle-CRDTs
- cr-sqlite (Vulcan) – SQLite extension adding CRDT-based multi-writer replication
- libSQL – Open-source SQLite fork with embedded replicas for local-first reads
- PGlite – Embeddable Postgres in WASM with reactive live queries, multi-tab worker support, and full SQL
- Turbolite – SQLite VFS enabling sub-100ms cold JOIN queries against S3 with page-level compression and encryption
- VelesDB – Local-first vector + graph + columnar database written in Rust (~6MB binary). Source-available (Elastic License 2.0)
- Legend State – Reactive state with persistence
- Replicache – Client-side sync with conflict resolution (maintenance mode; see Zero)
- Tinybase – Reactive data store & sync engine
- Automerge – CRDT library with fast binary format & WASM support (v3.0 with 10x memory reduction)
- Yjs – High-performance CRDT framework
- Loro – JSON and rich-text CRDT
- Collabs – Composable CRDTs from CMU (low activity)
- Diamond Types – High-performance Rust CRDT for text editing (WIP)
- json-joy - New modern high-performance JSON and rich-text CRDT, values speed and correctness, has bindings to most plain text and rich-text editors
- Jazz (CoJSON) – Local-first framework with built-in auth, sync, permissions, and E2E encryption
- DXOS – Open-source P2P framework with ECHO reactive DB and HALO decentralized identity
- Verdant – IndexedDB-powered storage, sync, and real-time collaboration for local-first web apps
- Liveblocks – Real-time collaboration SDK with presence, storage, and Yjs-backed sync (cloud-hosted)
- PartyKit (Cloudflare) – Edge-deployed stateful servers for real-time multiplayer apps (cloud-hosted)
- Hocuspocus – Yjs WebSocket backend with persistence and authorization
- Cloudflare Durable Objects – Edge-deployed stateful primitives with built-in SQLite (cloud infrastructure)
- Earthstar – Offline-first P2P sync protocol for small-group collaboration
- libp2p – Modular P2P networking stack supporting TCP, QUIC, WebRTC, and WebTransport
- Hypercore / Hyperswarm – Append-only log with DHT-based peer discovery and hole-punching
- Pear Runtime (Holepunch) – Zero-infrastructure P2P runtime for desktop, mobile, and terminal apps
- Socket Runtime – P2P runtime turning web apps into native apps with built-in peer networking
- Iroh – QUIC-based Rust library for P2P connectivity with relay fallback
- IPFS – Content-addressed P2P storage and distribution protocol
- Syncthing – Open-source continuous P2P file synchronization with E2E encryption
- ZamSync -- Offline-first WAL sync engine in Rust for constrained networks. HLC ordering, Version Vector deduplication, mTLS, ChaCha20-Poly1305 encryption at rest, static binary under 5 MB for ARM.
- Nostr – Open relay-based protocol for decentralized publishing
- AT Protocol – Bluesky's protocol with self-authenticating data and portable identity
- Matrix – Open decentralized protocol for secure, federated real-time communication with E2E encryption
- Braid HTTP – IETF draft extending HTTP into a state synchronization protocol
- Couchbase Lite – Embedded NoSQL database for mobile/IoT with offline-first operation and P2P sync
- ObjectBox – High-performance on-device database with built-in data sync for mobile, IoT, and edge (sync is commercial)
- UCAN – Trustless, offline-capable, delegated authorization tokens using DIDs
- DID (Decentralized Identifiers) – W3C standard for verifiable, self-sovereign digital identity
- OpenMLS – Rust implementation of the Messaging Layer Security (MLS) protocol for E2E encrypted group communication
- MLS Protocol (RFC 9420) – IETF standard for scalable E2E encrypted group messaging
- Notes on CRDTs + E2E Encryption – Practical research notes on combining CRDTs with encryption
- Figma's Multiplayer Technology – Real-time collaboration internals
- Figma: Making Multiplayer More Reliable – Write-ahead log and reliability improvements
- Notion's WASM SQLite – Browser local-DB performance
- Trello's Offline Architecture – Offline support patterns
- Scaling the Linear Sync Engine – How Linear scaled their local-first sync engine
- Logseq & Obsidian – Markdown-based offline knowledge tools
- Superhuman: Architecting for Offline – Deep-dive into offline-first storage and sync
- Superhuman: Building on Unreliable Networks – Engineering patterns for network resilience
- Expo: Local-First Architecture Guide – Official Expo docs on building local-first mobile apps
Knowledge Management & Notes
- Anytype – Local-first, P2P, E2E encrypted knowledge OS
- AFFiNE – Open-source workspace combining docs, whiteboards, and databases
- AppFlowy – Open-source Notion alternative with full offline mode
- Standard Notes – Open-source, E2E encrypted notes
- Joplin – Open-source offline-first note-taking with optional E2E sync
- Kuku – Open-source local-first Markdown workspace with AI-assisted edits, backlinks, graph navigation, and optional encrypted sync
- Markra – Open-source local-first WYSIWYG Markdown editor with native AI review. Keeps documents as plain
.mdfiles and lets users preview AI changes before applying them. GitHub - mu-txt — a polished local-first rich-text editor based on
json-joyPeritext CRDT, available as a web app and desktop app (npx mu-txt), plus open-source Reactmutxt-reactand Web Componentmutxt-elementlibraries. - Notesnook – Open-source zero-knowledge encrypted notes
- Capacities – Object-based note-taking with offline-first architecture
- Reflect – Local-first networked notes with E2E encryption
- Bangle.io – Local-first notes
- Logseq – Local-first knowledge base and outliner
- Obsidian – Markdown-based knowledge management with local vault storage
- SwarmVault – Local-first RAG knowledge vault. Compiles raw sources into a durable markdown wiki with a knowledge graph and hybrid SQLite FTS plus embeddings. All data lives on disk; AI access via a local MCP server.
- Memex – Open-source, local-first AI journal for iOS and Android. A multi-agent system turns text, photo, and voice fragments into structured timeline cards, and organizes knowledge using the P.A.R.A. methodology. All data is stored on-device (filesystem + SQLite) and users bring their own LLM provider. Website
- Screenpipe – Local-first screen and audio recorder that indexes OCR, accessibility data, and transcripts into a searchable timeline for people and AI agents. Data stays on disk by default; cross-platform (macOS/Windows/Linux); works with local models. Source-available under the Screenpipe Commercial License; earlier MIT-licensed versions remain under MIT. Website
Language Learning
- EchoTalk – Privacy-first offline shadowing practice PWA. AI pronunciation feedback, local recordings, no account needed.
- KaChiKa – Local-first AI photo-to-flashcard app for language learners. Snap a photo of a real-world object and KaChiKa extracts vocabulary with example sentences. All images are processed and stored on-device — no upload. Uses spaced repetition for review scheduling. Available on iOS and Android.
Writing & Editing
- Harper – Privacy-first, local grammar checker for prose.
Productivity & Collaboration
- Excalidraw – Collaborative drawing
- tldraw – Open-source infinite canvas whiteboard SDK
- Huly – Open-source all-in-one project management platform with offline-first client
- Superhuman – Offline-first email client
- GitComet – Open-source (AGPL-3.0) local-first Git GUI in Rust for Linux, macOS, and Windows
- AI Workdeck – Open-source AI-native workspace for legal and document-heavy workflows. Local-first with Ollama + local storage, OCR, due-diligence risk flagging, evidence-chain management, WPS WebOffice integration. Self-hosted (Java/Spring Boot + Vue + Electron + Docker, AGPLv3).
Personal & Finance
- Actual – Local-first budgeting
- Finbodhi (2025) – Encrypted personal-finance app
- Timelinize (2025) – Local data aggregation into a personal timeline
Health & Fitness
- nobro.app – Minimalist offline-first workout program tracker. State lives in localStorage, program is editable JSON, 11 locales
Food & Cooking
- Recipe Jar – Local-first recipe keeper with no database: recipes live in your browser's IndexedDB. Paste a link to save a clean, ad-free card; unlimited recipes, fully offline as a PWA, one-file export for backups. The only server is a stateless fetch proxy that stores nothing. Open source (Svelte 5).
- SQLite in Vue Guide – Building offline-first Vue apps
- An Interactive Intro to CRDTs – Hands-on tutorial
- Operational Transformation Visualization – Interactive OT demo
- CRDT Tutorials – Practical examples
- TinyRooms – Multiplayer game using local-first
- RxDB Blog – Why Local-First Is the Future – Deep dive
- CRDTs for Mortals – Example App – Full reference implementation from James Long's talk
- Local-First Web – Community hub
- localfirst.fm – Developer podcast
- Local-First Discord – Active discussion server
- Local-First News – Weekly newsletter with releases & meetups
- LoFi Meetups (2024-25) – Monthly online community events
- Braid IETF WG – Working group for sync protocols
- CRDT.tech – Community website with curated papers, talks, and implementations
- CRDT.tech Resources – Curated collection of CRDT talks and educational materials
- Awesome-CRDT (GitHub) – Curated list of CRDT libraries, papers, and tutorials
- Yjs Community Resources – Index of Yjs-related talks, podcasts, and blogs
- Maggie Appleton on localfirst.fm – Podcast on barefoot developers, AI, and end-user programming
- Local-First Conf 2026 – Berlin edition (July 2026): Kleppmann, Steve Ruiz (tldraw), Jeffrey Heer (Mosaic), Iroh, Matrix, atproto, and more
- Local-First Conf 2024 Videos – Sessions by Kleppmann, Artman (Linear), etc.
- LoFi / 28 Meetup (2025) – Dexie, Replication 3 Ways, Legend State performance talk
- SyncConf 2025 Preview – Dedicated sync-tech event
This repository is no longer accepting contributions, pull requests, or project submissions.
I have received too many submissions focused on promoting a product, along with very new projects—sometimes only a day old. I do not have the time to investigate every submission and assess its maturity, quality, and fit for this list.
All open pull requests are being closed, and new submissions will not be reviewed. Please do not open pull requests or issues to request additions to the list.
Thank you to everyone who has contributed useful resources over the years.