The Vibeary — round-up

Best local-first and sync engines

Local-first is the architecture behind every app that feels instant: writes land in a local store immediately, sync happens in the background, and conflicts resolve without a spinner. It is also the hardest thing on this shelf to retrofit, so it is worth understanding the options before you commit. The projects here span CRDT libraries, sync engines that pair with Postgres, embedded client databases and full local-first frameworks — each making a different trade between control and how much of the problem it solves for you.

What earned a place

  • Real conflict resolution, not last-write-wins by accident
  • Offline behaviour that survives a long disconnection
  • Clear story for auth and per-user data access
  • Production usage or serious documentation behind it

24 picks from the library

  1. 01

    Basejump

    Open-source Supabase starter providing teams, accounts, roles, billing hooks and row-level-security policies as ready-made SQL.

    Why it made the list: The multi-tenant RLS schema everyone gets wrong, written correctly and given away.

    Database toolingMITBasejump (@usebasejump)usebasejump.com

    Basejump preview
  2. 02

    Collabs

    Library of composable CRDTs from CMU research letting you build custom collaborative data types instead of using a fixed document model.

    Why it made the list: Academic-grade composable CRDTs with real docs. Nobody outside the research thread knows it.

    Local-first & syncApache-2.0Matthew Weidner (@mweidner037)collabs.readthedocs.io

    Collabs preview
  3. 03

    cr-sqlite

    SQLite extension that turns ordinary tables into conflict-free replicated ones, letting two databases merge changes without a central server.

    Why it made the list: Multi-writer merge at the SQLite layer, so your existing SQL schema becomes syncable.

    Local-first & syncopen-sourceMatt Wonlaw (@tantaman)github.com

    cr-sqlite preview
  4. 04

    Diamond Types

    Rust CRDT implementation for collaborative plain-text editing optimised for extremely fast merging of long editing histories.

    Why it made the list: The benchmark everyone else's text CRDT gets measured against, from ShareJS's author.

    Local-first & syncopen-sourceJoseph Gentle (@josephg)github.com

    Diamond Types preview
  5. 05

    Drizzle Lab

    Toolkit around Drizzle ORM providing a schema visualizer, local playground and VS Code extension for exploring relations and migrations.

    Why it made the list: The ER-diagram view Drizzle Studio never shipped, built by one person.

    Database toolingopen-sourceRaphaël Moreau (@rphlmr)github.com

    Drizzle Lab preview
  6. 06

    Evolu

    Local-first framework built on SQLite with end-to-end encryption, typed schemas and CRDT sync where the server never sees plaintext.

    Why it made the list: The only mainstream local-first stack where the sync server is fully zero-knowledge.

    Local-first & syncMITDaniel Steigerwald (@steida)evolu.dev

    Evolu preview
  7. 07

    Fireproof

    Embeddable database that runs in the browser with verifiable, content-addressed storage and pluggable cloud sync backends.

    Why it made the list: Immutable, cryptographically verifiable history in a database you can npm install.

    Local-first & syncopen-sourceFireproof Storage (@fireproof-storage)use-fireproof.com

    Fireproof preview
  8. 08

    Hocuspocus

    Extensible WebSocket backend for Yjs with pluggable persistence, authentication hooks, webhooks and horizontal scaling via Redis.

    Why it made the list: The Tiptap team's production collaboration server, usable without Tiptap.

    Local-first & syncMITueberdosis (@ueberdosis)github.com

    Hocuspocus preview
  9. 09

    InstantDB

    Realtime relational database with an instant client SDK, offline support, permissions and optimistic updates on top of a Postgres backend.

    Why it made the list: Firebase ergonomics with real relations and a genuinely open-source server.

    Local-first & syncopen-sourceInstantDB (@instantdb)instantdb.com

    InstantDB preview
  10. 10

    Jazz

    Framework where collaborative, permissioned data structures sync themselves, with built-in auth, file handling and end-to-end encryption.

    Why it made the list: Removes the backend entirely for multiplayer apps; permissions live in the data itself.

    Local-first & syncMITGarden Computing (@gardencmp)jazz.tools

    Jazz preview
  11. 11

    json-joy

    High-performance JSON CRDT, JSON Patch, JSON Pointer and binary codec toolkit for building collaborative document infrastructure.

    Why it made the list: Benchmark-topping CRDT internals from the author of react-use, hidden in a grab-bag repo.

    Local-first & syncApache-2.0Vadim Dalecky (@streamich)github.com

    json-joy preview
  12. 12

    Kanel

    Reads a live PostgreSQL schema and generates TypeScript interfaces, branded ID types and Zod schemas for every table and view.

    Why it made the list: Database-first typing without an ORM. Branded key types stop cross-table ID mixups.

    Database toolingMITKristian Dupont (@kristiandupont)github.com

    Kanel preview
  13. 13

    Legend-State

    Fine-grained reactive state library with automatic persistence and sync plugins, designed to re-render only the components that changed.

    Why it made the list: Signals-level render performance in React plus built-in local persistence and sync.

    Local-first & syncMITJay Meistrich (@jmeistrich)github.com

    Legend-State preview
  14. 14

    LiveStore

    Event-sourced local-first data layer that keeps an in-memory SQLite read model derived from an append-only log of events.

    Why it made the list: Event sourcing on the client, so time-travel debugging and undo come free.

    Local-first & syncopen-sourceJohannes Schickling (@schickling)livestore.dev

    LiveStore preview
  15. 15

    Loro

    Rust CRDT library with WebAssembly bindings supporting rich text, movable tree structures and full version history for collaborative editing.

    Why it made the list: Movable-tree CRDTs and time travel that Yjs does not give you out of the box.

    Local-first & syncMITLoro (@loro-dev)loro.dev

    Loro preview
  16. 16

    pgflow

    Postgres-native workflow engine with an Edge Worker that runs durable, typed background job DAGs entirely inside a Supabase project.

    Why it made the list: Durable job orchestration without adding Redis, Temporal or a second runtime.

    Database toolingopen-sourcepgflowpgflow.dev

    pgflow preview
  17. 17

    PGlite

    Postgres compiled to WebAssembly as a small embeddable library that runs a real database in the browser, Node or an edge worker.

    Why it made the list: Real Postgres in a browser tab in 3MB. Makes offline demos and tests trivial.

    Database toolingApache-2.0ElectricSQL (@electric-sql)github.com

    PGlite preview
  18. 18

    slotstream

    Streams MoE experts from SSD so a 125B 4-bit Qwen can run on Macs with far less RAM, via MLX/Swift with an Ollama-compatible API.

    Why it made the list: Makes huge local models practical on ordinary Mac memory budgets.

    Local-first & syncMITCarlos Galarza (@carloslfu)github.com

    slotstream preview
  19. 19

    Supabase Automated Self-Host

    Script and compose setup that provisions a hardened self-hosted Supabase stack with Caddy, TLS and authentication in one command.

    Why it made the list: Turns the officially painful self-host path into a single reproducible command.

    Database toolingMITInder Singh (@singh-inder)github.com

    Supabase Automated Self-Host preview
  20. 20

    Supabase Cache Helpers

    Set of React Query and SWR hooks that derive cache keys from Supabase queries and keep realtime updates in sync automatically.

    Why it made the list: Removes the cache-key boilerplate every Supabase app reinvents badly.

    Database toolingMITPhilipp Steinrötter (@psteinroe)github.com

    Supabase Cache Helpers preview
  21. 21

    TanStack DB

    Reactive client data layer with differential dataflow collections, typed live queries and optimistic mutations layered over any backend.

    Why it made the list: The newest TanStack piece and the least-known: sub-millisecond live queries in the client.

    Local-first & syncMITTanner Linsley (@tannerlinsley)tanstack.com

    TanStack DB preview
  22. 22

    TinyBase

    Reactive in-memory data store with typed schemas, indexes, relationships, persistence adapters and optional CRDT-based synchronization.

    Why it made the list: Spreadsheet-shaped local state in a few kilobytes, with astonishing documentation.

    Local-first & syncMITJames Pearce (@jamespearce)github.com

    TinyBase preview
  23. 23

    Triplit

    Full-stack database with a relational query engine that syncs to clients in realtime, offline support and optimistic updates built in.

    Why it made the list: Relational queries with realtime sync in one package, no separate cache layer.

    Local-first & syncopen-sourceTriplit (@aspen-cloud)triplit.dev

    Triplit preview
  24. 24

    TypeSQL

    Generates fully typed query functions from raw SQL files by introspecting the database, giving type-safe results without an ORM layer.

    Why it made the list: sqlc for the JavaScript world. Write real SQL, still get end-to-end types.

    Database toolingMIT@wsportogithub.com

    TypeSQL preview

Questions

Do I need CRDTs for collaboration?
For free-form text and shared canvases, usually yes. For record-level data, a server-authoritative sync engine is often simpler and sufficient.
Can I add local-first later?
Rarely without a rewrite of the data layer. Decide early if instant, offline-capable interaction is a product requirement.
All round-upsSearch all gemsNewest additions