At a glance
Convex, Supabase and Firebase are the three backends most indie hackers and small teams choose between in 2026 to add a database, auth, storage and APIs without standing up servers from scratch. They take different shapes: Convex is a reactive, TypeScript-native backend where your queries are functions and the UI updates in real time by default; Supabase is managed Postgres with auth, storage, edge functions and instant REST APIs, and it is open-source and self-hostable; Firebase is Google's mature, mobile-first platform built on the Firestore NoSQL database with the deepest offline support. The choice usually comes down to your data model (SQL vs document vs reactive), how much you value real-time, and whether you want to be able to self-host. This page compares them honestly so you can match the backend to your app. It pairs with our Modern App Stack Explained article and the Course 3 Convex lesson. Facts are current as of June 2026 and pricing models move over time.
The options
Side by side
| Dimension | Convex | Supabase | Firebase |
|---|---|---|---|
| Data model | Reactive document store (TypeScript functions) | Relational SQL (PostgreSQL) | NoSQL document store (Firestore) |
| Vendor | Convex | Supabase | |
| License | Source-available (FSL-1.1-Apache-2.0) | Open-source (Apache-2.0) | Closed-source |
| Self-hosting | Limited (source-available, delayed-open) | Yes, via Docker | No (hosted-only) |
| Real-time | Reactive by default | Realtime subscriptions (opt-in) | Realtime listeners (opt-in) |
| Pricing model (as of 2026) | Usage-based; Pro about USD 25/mo, no always-on baseline | Free tier; Pro about USD 25/mo per project plus compute | Free Spark tier; pay-as-you-go, per-read pricing |
| Best for | Real-time TypeScript apps, least wiring | SQL apps, self-hosting, open-source suite | Mobile and offline-first apps |
The verdict
Pick Convex if you are building a TypeScript app and want real-time reactivity and end-to-end type safety with the least backend wiring; it is the most natural fit when live updates are core to the product, with the trade-off of a source-available license and a younger ecosystem. Pick Supabase if you want a real relational SQL database, the freedom to self-host, and a full open-source suite of database, auth, storage and functions; it is the most versatile all-rounder and the safest against lock-in. Pick Firebase if you are shipping a mobile or offline-first app and value its mature SDKs and Google Cloud integration, accepting hosted-only lock-in and per-read pricing that can be hard to predict at scale. The honest rule of thumb: Convex for reactive TypeScript apps, Supabase for SQL and open-source control, Firebase for mobile. For how these fit a full modern stack alongside auth and payments, see our Modern App Stack Explained article, and compare auth providers in our Clerk vs Auth0 vs Supabase Auth page.
