finds.dev← search

// the find

sqliteai/sqlite-sync

★ 509 · C · NOASSERTION · updated Jul 2026

CRDT-based offline-first sync for SQLite. Syncs automatically with SQLite Cloud, PostgreSQL, and Supabase. No conflicts, no data loss, no backend to build. For offline-first apps and AI agents.

A C extension that adds CRDT-based sync to SQLite, letting local databases exchange changes without conflicts. Works with SQLite Cloud (their managed backend), or self-hosted PostgreSQL/Supabase. Primarily useful for offline-first mobile/desktop apps and the growing niche of agent-state synchronization.

The CRDT implementation covers four distinct algorithms (Causal-Length Set, Delete-Wins, Add-Wins, Grow-Only Set) — not just a single last-write-wins approach. Block-Level LWW for text columns is genuinely useful: line-level merging means two agents or users editing different sections of a markdown document preserve both changes, which most sync libraries get wrong. The test suite is thorough — 51 numbered SQL test scripts covering edge cases like out-of-order delivery, delete/resurrect cycles, schema hash mismatches, and corrupted payloads. Platform breadth is real: iOS, Android, Flutter, Expo, React Native, WASM, and a PostgreSQL server-side extension all come from the same C core.

The license is Elastic License 2.0, not OSI-approved open source — you cannot use this in a SaaS product or offer it as a managed service without a commercial license from SQLite Cloud, Inc. That's a meaningful constraint that the README buries. The sync protocol is opaque: there's no spec or protocol documentation, so you're fully dependent on their server implementation; self-hosting means running their Docker image, not writing your own compatible backend. The two-call pattern required on a new device (first call triggers package preparation, second downloads it) is a leaky implementation detail that will confuse developers. Schema changes after `cloudsync_init` require manual migration handling — the extension doesn't help you evolve the schema across already-synced clients.

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 →