Think Convex, but SQL. Postgres, but live.
Write your application with normal INSERT, UPDATE and DELETE statements, then subscribe() to any SELECT. Rindle keeps the result current automatically and efficiently.
Rindle is enabled by a Rust port of ZVM — the incremental query engine from Zero. Previously, ZVM could only be used as part of Zero. Now it’s also available as a standalone database.
Try It
Live SQL over the Bluesky firehose. Every post, like and follow from the last few hours, as they happen, in one Rindle server. Pick a query or write your own.
Write rate
–
row changes/s
Dataset
–
Hydration
–
your query, first result
Update
–
engine time per row change
Server CPU
–
one core = 100%
Server memory
–
resident
Live clients
–
Unique queries
–
Connecting…
This grid is built with one live query. Move your mouseTouch the grid to paint. There are 2 other people here painting too.
Try a different query
Show as a from , first, top , painted by , first, top ,
SELECT * FROM users ORDER BY arrived DESC LIMIT 20
Rindle is a SQL database where every query is live.
Features
- Simple It’s SQL plus
subscribe(). You already know how to use it - database, not framework. - Live Every query is live and incremental by default. Agents get woken on changes, users see updates without refresh.
- 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 Pure HTTP server interface. Use from Node, React, iOS, whatever. Layer
@rindle/zeroor TanStack DB on top for instant reads and writes. - Cheap Runs on NVMe and S3, so a database costs nothing when idle and almost nothing when active.
Ready to Try?
Head to Get Started. Agents, see For Agents.