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 schema
const schema = {
  todos: s.table({
    title: s.string(),
    done: s.boolean(),
  }),
};
const app = s.defineApp(schema);

// Write — instant, works offline
db.insert(app.todos, { title: "Ship it", done: false });

// Read — reactive, stays up to date across devices
db.subscribeAll(app.todos.where({ done: false }), ({ all }) => {
  console.log(all);
});

Jazz works with React, Vue, Expo/React Native, Svelte, plain TypeScript, and Rust.

(Looking for classic Jazz docs?)

Quickstart

Install

Setup

Reference

On this page