Overview
The database that syncs.Jazz is a local-first relational database with row-level permissions, real-time sync, and offline support — no separate API layer needed. Your app reads from and writes to a local replica, and Jazz syncs it with a server in the background.
import { schema as s } from "jazz-tools";// Define your schemaconst schema = {todos: s.table({title: s.string(),done: s.boolean(),},{},),};const app = s.defineApp(schema);// Write — instant, works offlinedb.insert(app.todos, { title: "Ship it", done: false });// Read — reactive, stays up to date across devicesdb.subscribe(app.todos.where({ done: false }), (todos) => {console.log(todos);});
Jazz works with React, Vue, Svelte, Solid, Expo/React Native, plain TypeScript, and Rust.
(Looking for classic Jazz docs?)