Multi-server. Multi-writer. Multi-runtime. Zero data loss.
No consensus. No Raft. No coordinator. Just triggers, ACK, and UUID.
Three primitives: triggers, ACK, and UUID. No consensus algorithm. No Raft. No coordinator.
SQLite simplicity + multi-writer replication + cross-runtime interop, without consensus overhead.
All nodes accept writes independently. UUID PKs = zero conflict, no coordinator, no CRDT.
Go, Bun, and Node sync to each other. Same wire protocol. Mix and match freely.
Sync runs in background. Write speed identical with or without peers. 0% overhead.
Changes survive in SQLite _changes table. Resume on restart. Zero data loss, verified.
Last-write-wins by timestamp. Both nodes always converge. 36/36 tests pass.
Point-to-point, full mesh, dedicated hub, multi-region. All built and benchmarked.
hook-sync fills a gap no other project covers: SQLite simplicity + multi-writer + cross-runtime.
| Postgres | Litestream | rqlite | hook-sync | |
|---|---|---|---|---|
| Multi-writer | ✗ Primary-only | ✗ Read-only | ✗ Leader-only | ✓ All nodes write |
| Write penalty | ✗ WAL overhead | ✓ Async | ✗ Raft quorum | ✓ 0% overhead |
| Cross-runtime | ✗ C only | ✗ Go only | ✗ Go only | ✓ Go · Bun · Node |
| Split-brain safe | ✓ Sync repl | ✗ | ✓ Raft | ✓ Timestamp LWW |
| Crash recovery | ✓ WAL replay | ✓ S3 restore | ✓ Raft log | ✓ _changes replay |
| Batch 10K QPS | 8,278 | N/A | N/A | 31,558 |
From 2 nodes to multi-region. All built, verified, and benchmarked across Go, Bun, and Node.
2 nodes, active-active. Simplest setup — one --peer flag each.
3-7 nodes, all-to-all. Per-peer watermarks, no coordinator.
8+ nodes. Go-only relay with Pebble KV. Durable forwarding queue.
Hub-to-hub cross-region. Loop prevention via X-Node-Url header.
Get up and running in 5 minutes with Go, Bun, or Node.
Quick Start →