HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
vlcn-io
cr-sqlite
Rust2022–2026
vlcn-io / cr-sqlite

cr-sqlite

Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite

26Distinct people
38Mentions
0Explicit recommenders
3.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year38 dated mentions

Observed mentions: 2022-07-26 19:06:28 UTC to 2026-07-14 17:57:33 UTC.

051015202022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 6 mentions; 2 submissions, 4 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 19 mentions; 0 submissions, 19 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC624
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC19019
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC716
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC404
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC202

What Hacker News says

38 sources
Jupyter-rtc is built on y.js too. There's a sqlite CRDT: cr-sqlite,: https://news.ycombinator.com/item?id=41921992 vlcn-io/cr-sqlite: Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite https://github.com/vlcn-io/cr-sqlite Notes on sandboxing agents: amla sandbox, agentvm, bwrap at least; debugging mcp servers, and signing agent traces in a standard format: https://news.ycombinator.com/item?id=48893850 -- Can juggler: Design and verify a guitar effect pedals and a wavetable synth with JUCE on a low power chip? JUCE on embedded controllers; Rust embedded RTOS-like features, a DSP and low power draw: > Ambiq Apollo4 Plus | ARM Cortex-M4F | ~4–10 µA / MHz | more efficient than an RP2040 Pi Pico. The hardware FPU handles audio math at a fraction of the power footprint. > STM32U5 Series | ARM Cortex-M33 ~110 µA / MHz | ene
Read the rest
rgy-saving modes, math accelerators (Cordic for sines/cosines), audio peripherals > STM32L4 Series | ARM Cortex-M4F | ~100 µA / MHz | mature, ultra-low-power, robust I2S audio support, sleep state grame-cncm/faust: Functional programming language for signal processing and sound synthesis / [that compiles to microcontroller DSP code, LLVM IR,] https://github.com/grame-cncm/faust Then a Rust-based OS for microcontrollers; to isolate devices and device drivers from other processes; I'd like to learn this too (so this is worth researching) Rust packages for DSP: embedded-hal, embedded-io, rand_core Navigating the Embedded Rust Ecosystem https://www.theembeddedrustacean.com/p/navigating-the-embedd... https://google.github.io/comprehensive-rust/bare-metal/micro... hubris > Flash instructions already mention an STM32 F but not yet U or L: https://github.com/oxidecomputer/hubris#flash Task: Add support for STM32U and STM32L to hubris "Navigating the Embedded Rust Ecosystem" https://www.theembeddedrustacean.com/p/navigating-the-embedd... The micro:bit has a speaker and something like a DSP and rust support, though it's not going to run JUCE and BespokeSynth ; kk Just rtic, cortex-m-rt, and nrf52833-hal (for micro:bit v2) might be sufficient but there's already microbit_bsp: microbit_bsp is a board support package (BSP) library for the micro:bit v2 and newer: https://docs.rs/microbit-bsp/latest/microbit_bsp/ Another task; Develop and test a board support package for low-power chips for hosting effects from JUCE compiled with or like Faust. But then contain agent sessions; e.g. Hubris has no shared memory so audio streams must be shoveled over message passing -- Back to agent sandboxing; It looks like WebKitGTK uses bubblewrap on linux unless running in a flatpak, because flatpaks don't have permission to create namespaces so bwrap can't run. Bubblewraplauncher.cpp: https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIP... FlatpakLauncher.cpp: https://github.com/WebKit/WebKit/blob/main/Source/WebKit/UIP... CF workers support nested agent isolates since 2026-03: https://blog.cloudflare.com/dynamic-workers/ dloss/awesome-agent-sandboxes: A curated list of sandboxing solutions for AI agents https://github.com/dloss/awesome-agent-sandboxes
In Show HN: Juggler – an open-source GUI coding agent, by the creator of JUCE
If you can have multiple writers to a single database then you'd need to look at something like cr-sqlite[1] that uses CRDT to figure out conflicts. If you're just replicating separate databases then you might be able to replicate each one using Litestream and then use SQLite's ATTACH[2] to connect them together. There is a limit on how many databases you can attach together in a session though. [1]: https://github.com/vlcn-io/cr-sqlite [2]: https://sqlite.org/lang_attach.html
In Litestream Writable VFS
cr-sqlite https://github.com/vlcn-io/cr-sqlite : > Convergent, Replicated SQLite. Multi-writer and CRDT support for SQLite From "SQLedge: Replicate Postgres to SQLite on the Edge" (2023) https://news.ycombinator.com/item?id=37063238#37067980 : >> In technical terms: cr-sqlite adds multi-master replication and partition tolerance to SQLite via conflict free replicated data types (CRDTs) and/or causally ordered event logs
In Automerge: A library of data structures for building collaborative applications
What does "scale" here mean? Sqlite can go quite far https://use.expensify.com/blog/scaling-sqlite-to-4m-qps-on-a... I agree with you w/r/t "Why build your own query builder" though since (AFAIK) you can't touch the underlying SQL. I'm making heavy usage of FTS5 in my app, and it doesn't look like they support that. And, to be fair, feathers/rethink also have the weaknesses you list: - Why build your own query builder - This also isn't really something you could drop into an existing project very easily Personally, I've been pretty happy with https://github.com/vlcn-io/cr-sqlite/ which is just a sqlite extension that can run in the browser.
In Show HN: Triplit – Open-source syncing database that runs on server and client
Hey, after I posted that, I went and gave a second look online to see if I could find something that would allow me to develop a local-first app with offline persistence and syncing capabilities. I ended up finding some possibilities out there that could potentially help me build stuff. One of them is RxDB [1], which offers WebRTC syncing - you'd still need a signaling server, I suppose, but all sensitive information could be synced E2E-encrypted via WebRTC. Then there's CRDT's [2], which is a universe that turned out to have multiple possibilities that match (at least partially) my needs. In particular, the next thing I want to take a look at is cr-sqlite [3], which might be just thing I needed to kick-off some side-projects. I'm posting here cause I just found some hope of not needing to build a traditional client-server app and having
Read the rest
to deal with all the hassle involved in securing a server (and with fear that my efforts could be not good enough), and I thought someone else could benefit from getting to know these things. [1] https://rxdb.info/ [2] https://crdt.tech/ [3] https://github.com/vlcn-io/cr-sqlite
In You can't leak users' data if you don't hold it
If you're interested in this, here are some related projects that all take slightly different approaches: - LiteSync directly competes with Marmot and supports DDL sync, but is closed source commercial (similar to SQLite EE): https://litesync.io - dqlite is Canonical's distributed SQLite that depends on c-raft and kernel-level async I/O: https://dqlite.io - cr-sqlite is a Rust-based loadable extension that adds CRDT changeset generation and reconciliation to SQLite: https://github.com/vlcn-io/cr-sqlite Slightly related but not really (no multi writer, no C-level SQLite API or other restrictions): - comdb2 (Bloombergs multi-homed RDBMS using SQLite as the frontend) - rqlite: RDBMS with HTTP API and SQLite as the storage engine, used for replication and strong consistency (does not scale writes) - litestream/LiteFS: disaster recovery replic
Read the rest
ation - liteserver: active read-only replication (predecessor of LiteSync)
In Marmot: Multi-writer distributed SQLite based on NATS
I did consider those sorts of systems but decided against. One facet of that is that I’d like ro support e2e encryption, which feels harder to do in something electricsql and co (since the postgres sees fields for replication). e2e2 seems more obvious in automerge (though, also not supported out of the box), and I recently encountered secsync.com which looks like a new-ish project that could get there. I’m really excited to see the influx of local-first frameworks though. A lot of these solutions also weren’t nearly as mature when I started working on tender about a year ago. If I were starting now instead of a year prior, I might try to go with github.com/vlcn-io/cr-sqlite which seems to share ideals with my architecture, and automerge has some issues I've run into.
In Show HN: I built an inbox-zero expense tracker with CRDTs and SQLite in browser

Showing the 15 most recent of 38 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.