Three backend platforms answer the same question — how do I ship an application without operating a backend — with three incompatible architectures. Supabase is built around a real Postgres database rather than a proprietary datastore, and bundles authentication, object storage, realtime subscriptions, edge functions and vector search with auto-generated APIs, with the whole stack open source so it can be self-hosted. Firebase is Google's managed app platform: Firestore and the Realtime Database for data, plus Authentication, Cloud Functions, Hosting, Storage, push messaging and crash reporting, aimed at mobile and web teams that want client SDKs and no backend to operate. Appwrite is an open-source backend platform providing self-hostable APIs for authentication, databases, storage, functions and messaging, with simple SDKs across web, mobile and desktop.
Our testing methodology was identical across all three platforms. We built the same application on each — a mobile and web client with email and OAuth authentication, a relational data model with several related tables, file uploads, realtime updates pushed to connected clients, and a serverless function triggered by a write — then measured the time from an empty project to a deployed backend. We timed schema changes, measured query latency on a dataset with realistic indexes, tested how far each platform got without writing custom server code, and calculated a realistic three-year total cost of ownership covering subscription, compute, storage, egress and function invocations. We also interviewed engineering leads running production workloads on each platform and analyzed verified user reviews on G2 and Capterra.
The core mental-model difference is the data model, and it dictates everything downstream. Supabase thinks in tables, relations and SQL: because the database is Postgres, you get joins, constraints, transactions and foreign keys, and auto-generated APIs appear as soon as a table exists. Firebase thinks in documents and listeners: Firestore stores JSON-like documents in collections and pushes changes to connected clients in realtime, which is superb for collaborative interfaces but leaves relational queries and joins to be modeled around. Appwrite also thinks in collections and documents, closer to Firebase than to Postgres, but wraps them in self-hostable open-source APIs where authentication, storage, functions and messaging are first-class primitives rather than adjacent Google services.
The intended audiences differ sharply. Supabase targets web developers and product teams that want SQL, relational integrity and an escape hatch — the stack is open source, so a project can move from hosted Supabase to self-hosted Postgres without a rewrite. Firebase targets mobile-first and cross-platform teams inside the Google ecosystem that want managed infrastructure, mature client SDKs, push messaging and crash reporting with no backend to operate. Appwrite targets developers and organizations that want complete control over infrastructure, whether that means self-hosting for free with unlimited usage, avoiding a cloud vendor, or meeting data-residency requirements. Mature teams often run two in parallel — Supabase or Appwrite for the primary database and business logic, with Firebase Authentication or Cloud Messaging kept on for a mobile SDK that is genuinely hard to replace.
Pricing uses three genuinely different models, and only Appwrite publishes a concrete figure in its plan description. Appwrite is completely free and open source for self-hosting with unlimited usage, while Appwrite Cloud adds a free tier with generous limits, Pro at $15 per member per month for additional resources and features, and Scale with custom pricing for enterprise needs — self-hosting, of course, requires your own server infrastructure. Supabase has a free plan with two projects and limited database size, storage and monthly active users, then a Pro plan that is a fixed monthly base fee plus usage for compute, storage, egress and additional features, with Team and Enterprise plans adding controls, higher limits and support. Firebase has the free Spark plan with daily limits on reads, writes and function invocations, then Blaze, which is pay-as-you-go per operation, gigabyte and invocation with monthly free allowances.
The sharpest functional divergence is exit cost. Supabase and Appwrite are both open source, so the worst case is that you stop paying a vendor and keep running the same software yourself — Supabase hands you Postgres, which you can dump and restore anywhere, and Appwrite hands you the entire platform to self-host with unlimited usage. Firebase has no self-hosted option at all: the datastores are proprietary, the SDKs assume Google infrastructure, and leaving means rewriting the data layer. That is also a real advantage for Firebase, because there is nothing to operate, no servers to patch and no capacity to plan — but Blaze is pay-as-you-go per operation, gigabyte and invocation, so larger workloads scale with usage and costs need active monitoring.
So where does each platform genuinely shine? Supabase is the strongest choice for teams that want a relational Postgres database with authentication, object storage, realtime subscriptions, edge functions and vector search behind auto-generated APIs, plus the option of self-hosting the same open-source stack. Firebase is the strongest choice for mobile-first teams that want fully managed infrastructure with mature client SDKs, push messaging, crash reporting and the rest of the Google app platform, and that are comfortable with a proprietary datastore and pay-as-you-go billing. Appwrite is the strongest choice for teams that want complete control over infrastructure — self-host for free with unlimited usage, or run Appwrite Cloud with Pro at $15 per member per month. Our rule of thumb: choose by your data model and your exit requirements, not by the free tier.























