Convex
Convex is an open source reactive backend platform that pairs a document database with TypeScript backend functions and real-time sync — a Firebase alternative where your queries update the UI automatically and everything is written in one language.
What is Convex?
Convex is a reactive backend platform that combines a document database, TypeScript backend functions, and real-time sync in one system. You write queries and mutations as plain TypeScript functions, and any query result stays live — when the underlying data changes, every client subscribed to it updates automatically. The backend server is open source and written in Rust; the client and function runtime are TypeScript.
What is Convex best for?
Convex fits developers building reactive web and mobile apps who want the whole backend — data, server logic, and live updates — in one type-safe TypeScript codebase instead of stitching together a database, an API layer, and a websocket system. It’s especially strong for collaborative and AI-agent apps where the UI needs to reflect changing state instantly without manual cache invalidation or polling.
What can Convex do?
- Reactive queries — query functions re-run and push new results to subscribed clients automatically whenever the data they read changes, so the UI stays live with no manual subscriptions.
- ACID transactions — mutations run as serializable transactions, preventing the lost-write and race conditions that plague eventually-consistent stores.
- End-to-end type safety — the schema and functions are TypeScript, so client calls are typed against your actual backend with no code generation step.
- Document database with a schema — a document/relational store you query in TypeScript rather than raw SQL, with optional schema enforcement.
- Scheduled functions, cron jobs, and workflows for background and durable multi-step logic.
- Built-in file storage, full-text search, and vector search for AI features, all in the same platform.
- Convex Components — sandboxed, open-source building blocks that add features like rate limiting or aggregation without leaking state into the rest of your app.
Where does Convex fall short?
- It’s a paradigm shift, not a drop-in database. The reactive function model is powerful but unfamiliar — you write data access as Convex queries and mutations rather than issuing SQL or REST calls, so porting an existing app or team’s habits takes real relearning.
- The self-hosted build omits parts of the cloud stack. The open source
convex-backendrepo drops the comprehensive test and randomized-testing frameworks Convex runs internally, and self-hosted deployments require you to configure security defaults by hand that the managed cloud sets for you. - The FSL license restricts commercial reuse for two years. You can self-host freely for your own apps, but the Functional Source License blocks offering Convex as a competing hosted service until each release converts to Apache 2.0 two years after publication (see below).
Is Convex free?
Yes — you can self-host the open source backend for free, and the managed cloud has a free Starter plan ($0/month, pay-as-you-go) that includes 1M function calls, 0.5 GB database storage, 1 GB file storage, and 20 GB-hours of action compute, with usage-based overages beyond that. The Professional plan is $25 per developer/month (25M function calls, 50 GB database storage, daily backups, log streaming, custom domains), and Business/Enterprise pricing starts at a $2,500 monthly minimum with SSO/SAML and SLAs.
What does Convex replace?
Convex stands in for managed backend-as-a-service platforms — most directly Firebase, whose Firestore + Cloud Functions combination it mirrors with stronger consistency and type safety, and AWS Amplify, where you’d otherwise wire up AppSync, DynamoDB, and Lambda yourself. Among open source options it’s closest to Supabase, though Supabase is Postgres-and-SQL-centric while Convex is a reactive TypeScript document platform.
FAQ
Is Convex open source? Yes. The convex-backend server (Rust) and the client/runtime packages (TypeScript) are published under the Functional Source License 1.1, which converts to Apache 2.0 two years after each release. It’s source-available now with an automatic open-source future license.
Can I self-host Convex for free? Yes. The backend ships as Docker images and prebuilt binaries with an official self-hosting guide, and it runs against databases and hosts like Postgres, Neon, Fly.io, and Vercel. You own the deployment and pay nothing in license fees.
Is Convex a good Firebase alternative? For reactive apps, yes — it delivers Firebase’s real-time-sync-plus-serverless-functions model with ACID transactions and full type safety, and you can self-host it instead of being locked into Google Cloud. The trade-off is a smaller ecosystem and a less familiar programming model than Firebase’s.
What do I need to run Convex? For local development, Node.js and the Convex CLI (npm create convex@latest). To self-host in production you run the backend via Docker or a binary backed by a database such as SQLite or Postgres, and configure the security settings the cloud would otherwise manage for you.