execute("INSERT…")
execute("SELECT…")
execute("UPDATE…")
execute("DELETE…")
+subscribe("SELECT…")
Think Convex, but simple, open, and cheap. Turso, but with live queries.
Under the hood, Rindle is powered by a Rust port of ZVM, the incremental query engine behind Zero. ZVM blends ideas from traditional and incremental query engines, making live queries cheap enough to be on by default.
Features
- Simple It’s SQL plus
subscribe(). You already know how to use it:CREATE TABLE,INSERT,SELECT. Database, not framework. - Live Agents get woken on changes. Users see what happened without refreshing. Idle queries cost no CPU and ~400b of memory.
- Fast First result in milliseconds, updates in microseconds. Thousands of live queries and thousands of writes/second on one core.
- Tree queries One trailing
WITHclause, and Rindle returns the tree of data your application actually wants, instead of a flat table to reassemble. - Composable Layer a sync client like
@rocicorp/zero-clientor TanStack DB on top for instant client-first reads and writes. Or run Rindle client-side only, as an embedded relational database with live queries. - Cheap Built to run on local NVMe with S3 as the log, so a database costs nothing when idle and almost nothing when active. Make one per app, one per agent, or let agents spawn their own.
Ready to try?
Head to Get Started. Agents, see For Agents.