finds.dev← search

// the find

aspen-cloud/triplit

★ 3,096 · TypeScript · AGPL-3.0 · updated Jan 2026

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →