Fully in-process
Single-file storage, WAL + tiered segments, group-commit batching. Copy the file, ship the app.
v0.9.1 · production-candidate · MIT
HakoDB is a Firestore-style document database in Rust. It runs fully in-process like SQLite — no server, no daemon — and replicates over LAN mesh or a cloud hub when you need it.
use hakodb::config::HakoConfig;
use hakodb::engine::Hako;
let db = Hako::open("./data", HakoConfig::default())?;
db.put("users", "alice", &doc)?;
let found = db.query(
Query::new("users").where_filter("age", Operator::Gte, 18.into())
)?;
The zero-deploy footprint of an embedded engine, with the query power of a document cloud.
Single-file storage, WAL + tiered segments, group-commit batching. Copy the file, ship the app.
Filters, ordering, cursors, projections, count/sum/avg — plus composite, full-text and secondary indexes built in the background.
Projections decode straight from memory-mapped bytes. Dotted-path pulls skip whole-subtree decode — ~18× on nested docs.
ChaCha20-Poly1305 over WAL and segments, per-collection keys — with fail-closed sync guards so encrypted rooms never leak plaintext.
Subscribe to any query; deltas stream over Tauri events, FFI callbacks, or channels. Reactive UIs without polling.
Atomic batches and serializable snapshot-isolation transactions with conflict-aware commit validation.
Local-first always. Replication is opt-in, per deployment.
mDNS + broadcast discovery, room-key isolation, WAL-delta replication across peers. No server on the network.
hakodb · net-sync
Offline-first clients converge through a WebSocket hub: 5 ms micro-batched writes, room-scoped storage, group admission with API keys.
hakocloudserver
A flat C ABI (hakodb.h) under everything. Pick the SDK for your language — each lives in its own repo.
| Package | For | Install |
|---|---|---|
| hakodb 0.9.1 | Rust | cargo add hakodb |
| hakogo 0.1.2 | Go (cgo) | go get github.com/hakodb/hakogo |
| @hakodb/client 0.5.14 | Node.js + Bun | npm i @hakodb/client |
| hakopascal 0.1.1 | Lazarus / Free Pascal | hakodb.dll + Hako.pas |
| hakotauri 0.2.0 + @hakodb/tauri 0.2.1 | Tauri apps | cargo + npm |
| hakocli 0.2.1 | Terminal + REPL | cargo install --git https://github.com/hakodb/hakocli |
cargo add hakodb
# query, sync, encrypt — see README
Core README
npm i @hakodb/client # JS/TS
go get github.com/hakodb/hakogo # Go
All repos
MIT licensed. One org, nine repos, zero services to operate.
Explore the org