// the find
aspen-cloud/triplit
A full-stack, syncing database that runs on both server and client. Pluggable storage (indexeddb, sqlite, durable objects), syncs over websockets, and works with your favorite framework (React, Solid, Vue, Svelte).
Triplit is a local-first, full-stack database that syncs between client and server over WebSockets using CRDTs for conflict resolution. It runs the same query engine on both sides, so your client isn't just a cache — it's a real database with relational queries, offline support, and live subscriptions. Built for TypeScript apps that need multiplayer or offline-first behavior without the Firebase lock-in.
The CRDT-based sync with property-level conflict resolution is genuinely well-thought-out — you're not just getting last-write-wins. The storage layer is properly abstracted: swap IndexedDB for SQLite or Durable Objects without touching your query code. The incremental view maintenance (IVM) in packages/db/src/ivm is doing real work to keep live queries efficient rather than rerunning full scans on every change. Schema-driven TypeScript inference means you get type errors at the query layer, not just at runtime.
3k stars and only 101 forks after what looks like 2+ years suggests adoption is still thin — the ecosystem risk is real if the team loses momentum. The monorepo has 15+ packages which creates non-trivial upgrade coordination pain; the yarn patches directory already has hotfixes on tuple-database that hint at dependency friction. Authorization is server-enforced but the docs and implementation complexity around roles will trip up anyone who needs anything beyond simple rules. No SQL migration story — you're committed to their schema diff tooling, and if that has bugs, your options are limited.