Features
Built for things that move.
Core commands and queries are available over HTTP/JSON and Cap'n Proto, geofence events stream over WebSocket subscriptions, and the browser SDK runs the same Rust core in WebAssembly.
Spatial indexing
R-tree spatial indexing and field indexes for nearby, within, intersects, scan, and text search — backed by a portable Rust core.
Geofencing as code
Define hooks with circles, bounds, GeoJSON areas, or roaming distance. Emit inside, outside, enter, exit, cross, and roam events as objects move.
Webhook eventing
Durable HTTP POST delivery from a SQLite-backed outbox. Per-request timeouts, exponential backoff, dead-letter — at-least-once with stable event IDs.
Three transports
HTTP/JSON with generated OpenAPI, WebSocket subscriptions, and async Cap'n Proto RPC — all backed by the same engine and auth model.
Pluggable storage
Run the server in memory or on an append-only file. The Rust storage layer also includes SQLite for embedded use, plus AOF compaction, verification, backup, and restore.
Single-leader replication
Streaming replication over Cap'n Proto with checksum-based resume. Read-only followers catch up incrementally and serve queries after initial sync.
Auth that fits
Static bearer tokens, HMAC JWTs, asymmetric JWTs from PEM keys or JWKS. Claims-based authz scoped per collection.
Browser-native
The same engine compiles to wasm and runs in a Web Worker. Build local-first map apps with no server in the loop — like the demo above.
Operational from day one
Prometheus metrics, structured logging, HTTP rate limits per principal, runtime config rewrite — built for production, not just demos.