What is Ramose
Ramose is a database for apps you deploy on Cloudflare. You describe your data in TypeScript, write it through a typed API, and read it with queries that update themselves. Who may read or write each field is part of the database, not middleware you remember to add. This is the one-minute version, for React and TypeScript developers who are new here.
src/app/screens/BoardScreen.tsx:230-234 The Tour of Reef walks it screen by screen — all 680 lines of its backend.
What you get
Section titled “What you get”- A typed schema — one file your app, rules and deploy all import; Ramose calls it a catalog (glossary) → Define your data
- Live queries — a query that re-runs itself when the database changes (glossary) → Live queries
- Permissions in the database, enforced by the Ramose server — the one Cloudflare Worker that serves all your databases; Ramose’s code calls it the peer (glossary) → Permissions
- A database per customer — naming one costs nothing → One database per customer
- Nothing overwritten — read the database as it was at any earlier version → Time travel
Ramose is built on Effect. In React you rarely see it — the hooks run it for you (Effect in five minutes). Every word we use, in plain English: Glossary.
Good fit, bad fit
Section titled “Good fit, bad fit”Reach for Ramose on Cloudflare when you want a realtime UI, rules the database enforces, history you can query, and a database per customer without a deployment per customer.
Look elsewhere for analytics or SQL, for more than a few hundred writes per second into a single database, or for a hosted console: Ramose has no dashboard and no managed service.
Closest to Convex and Instant in feel, and to Supabase in that the rules live in the database — the row-by-row trade against all five is How it compares.