How Ramose compares
Ramose is closest to an offline-first application database, a typed graph store, and an agent backend combined. Its local client, policy, operations, and MCP surface share one model.
The short version
Section titled “The short version”| If you would otherwise use | Ramose feels familiar because | The decisive difference |
|---|---|---|
| Convex | typed queries and server-controlled functions | complete offline replicas, your Cloudflare account, native MCP |
| Instant or Firebase | local-first reads and realtime synchronization | code-defined operations and policy, no hosted control plane |
| Supabase | the database enforces access | field-level filtered views and operation grants apply to app and agent callers |
| D1 + Drizzle | it runs on Cloudflare primitives | sync, history, authorization, and MCP are already assembled |
| Postgres + an ORM | types flow from a schema | no SQL, immutable history, offline query execution |
Choose Ramose when related data belongs together
Section titled “Choose Ramose when related data belongs together”Ramose is a good fit when entities and relations should remain directly queryable under one policy and operation model.
Choose something else when SQL is the product
Section titled “Choose something else when SQL is the product”Ramose does not provide ad-hoc SQL, cross-database joins, a BI ecosystem, full-text search, or a managed console. If analysts need to explore the primary store directly, Postgres or a warehouse is usually the better center of gravity. Ramose data can still feed an analytical system.
The performance trade
Section titled “The performance trade”Writes are committed in order by one authoritative writer. That gives the database simple ordering, uniqueness, receipts, and history, with a finite write ceiling.
Queries run over a complete authorized local graph in the browser and over immutable filtered values on the server. They are fast when a graph is appropriately sized and queries constrain indexed fields early. A giant graph increases initial sync, browser storage, local index, and query costs.
The maturity trade
Section titled “The maturity trade”Ramose is pre-release. APIs are intentionally changing toward the coherent model documented here. There is no hosted service, support contract, dashboard, migration framework, or broad integration catalog. In return, the whole data plane runs in your account and the application model remains ordinary TypeScript.