Postgres, with rules you can read out loud.
Your tables over REST and GraphQL. Choose who can read rows in plain words; Quenchbase writes the policy and shows you the SQL.
Database, sign-in, file storage, live updates and an admin dashboard. One Rust program you run yourself, with one command.
Speaks the Supabase API. The Supabase client libraries work with it as they are.
A gateway, sign-in, storage, realtime, metadata, a dashboard. Each one its own container to configure, connect and keep alive.
Quenchbase rebuilds those services as a single Rust program. Each one is checked against the original with differential tests, so it behaves the same.
Docker and about 1 GB of memory. Run it, and Quenchbase prints a link to finish setting up in your browser. Every secret is generated for you.
Start it, answer a few questions, make a table, connect your app and watch changes arrive. This is the whole process.
An animated walkthrough. Step 1: run docker compose up -d, and Quenchbase prints a setup link and code. Step 2: open the link, enter the code, create your admin account and name your project. Step 3: in the Table editor, create a todos table with title and done columns that signed-in users can read, with the SQL shown. Step 4: click Connect to copy your API URL, publishable key and a JavaScript snippet. Step 5: add a row in the dashboard and see it appear in the app immediately.
Everything a modern app expects from its backend, already wired together. Each part is verified against the original implementation with differential test suites.
Your tables over REST and GraphQL. Choose who can read rows in plain words; Quenchbase writes the policy and shows you the SQL.
A port of GoTrue, built in.
Uploads that resume, images resized on request, and an S3-compatible API.
Broadcast, presence and database changes over WebSockets.
Tables, SQL, users, storage, logs and settings, in plain language. Light and dark.
Quenchbase asks “Who can read this table?” instead of saying “RLS policy.” The safe choice is the default. Every error tells you what to do next. Nothing irreversible happens without a confirmation. And the SQL is always one click away.
Quenchbase speaks the Supabase API, so supabase-js, supabase-py and the Swift, Kotlin and Flutter clients work with it as they are. Point them at your address and key.
import { createClient } from "@supabase/supabase-js"; const db = createClient( "http://localhost:8000", "sb_publishable_…" ); const { data } = await db.from("todos").select("*");
from supabase import create_client db = create_client( "http://localhost:8000", "sb_publishable_…", ) data = db.table("todos").select("*").execute()
curl "http://localhost:8000/rest/v1/todos?select=*" \ -H "apikey: sb_publishable_…" # Your tables over HTTP, straight away.
Quenchbase runs on your laptop or your server. Your data lives in your Docker volumes, and every secret is generated on first start.
of memory and Docker. That's the whole list of requirements.
db-data, storage and config hold everything. Back them up like any other files.
git pull && docker compose up -d --build
We're letting people in a few at a time. Ask for an invitation, or redeem the one you were sent.