owservable

Live database queries over WebSockets

The browser subscribes to a query and gets the result. When the data changes, from any writer, it gets the new result. No polling, no cache invalidation code.

Quickstart Read the protocol
Database Mongo · Postgres · SQLite Backend change feed + queries Stores one per subscription Client → browser one per WebSocket changes relevant? reload update · total ← subscribe {query}

How it works

Two implementations, one protocol

Rust new

owservable-core plus MongoDB, PostgreSQL and SQLite backends, built on tokio. Bring any WebSocket server.

TypeScript v3

@owservable/* on npm, with RxJS stores and mongoose / MikroORM adapters. Developed alongside the Rust crates.

Frontends don't care which one runs the server: both send the same messages, and the Rust side is tested against recordings of the TypeScript one.