Convex vs Supabase

Convex owns the database and runs your writes as server functions. Supabase gives you a Postgres you own, plus auth, storage and a realtime feed. Neither ships a full sync engine.

This page is not about Strata Sync until the last section. It is a comparison of two backends, because most pages on this choice are selling one of them.

Who owns the database

Both give you a database, a way to write to it from a client, and auth. The difference that decides everything else is ownership. Convex brings its own managed reactive database, and your data lives inside it. Supabase gives you a standard Postgres with auth, storage and a realtime feed attached. Anything that speaks Postgres can connect.

Queries and reactivity

Convex integrates them. Queries re-run and push to clients when data changes, and writes are server functions with optimistic concurrency control and transaction atomicity. Coherent, and the coherence is the product.

Supabase keeps them apart. You query Postgres however you like and subscribe to Realtime separately. More wiring, and easier to reason about, because nothing re-runs behind your back.

Neither gives you offline

Both push to connected clients. Neither keeps a copy on the device that you write to, queues writes made offline, or reconciles them later. For most apps that is fine. If yours has to work on a train, the gap is yours to fill either way.

Leaving

Supabase is easier to walk away from, because a standard Postgres is a standard Postgres. Leaving Convex means an export plus a rewrite of every server function. Not a reason to avoid it. A cost to price at the start.

Choosing

  • Convex when you want one product to own the database, the functions and the reactivity.
  • Supabase when you want a Postgres you own and the freedom to replace any piece.

Where a sync engine fits

If you pick Supabase and later need offline and instant reads, that is what a sync engine does, and Strata Sync runs on a Supabase Postgres without extensions. See adding a sync engine to Supabase. If you pick Convex, Strata Sync vs Convex is the relevant comparison.

Common questions

Get started

One command. It scaffolds a working app with the sync server wired up.

npx stratasync init my-app
Read the docs

Keep reading