Backend-as-a-service has matured into a crowded market. Firebase brought the category to mainstream developer awareness, and since then dozens of platforms have emerged, some proprietary, some open source, some somewhere in between. For teams evaluating their backend options, the open-source tier deserves serious consideration, not just as a cost-saving measure, but as a fundamentally different way of thinking about backend ownership.
Why proprietary BaaS creates lock-in
Proprietary BaaS platforms (those where the source code is not public and the service is only available as a managed offering) create a specific category of dependency:
- You can't leave without rewriting. When your data model, authentication logic, and real-time subscriptions are built around a proprietary API, migrating to another platform requires significant engineering work.
- Pricing is not in your control. Firebase, in particular, has a history of pricing changes that caught teams off-guard when their applications grew. You discover the true cost of a proprietary platform at scale, not during the evaluation phase.
- The vendor's roadmap drives your options. Features you need that aren't on the vendor's roadmap simply don't get built. Workarounds become permanent fixtures of your architecture.
- Data portability is limited. Exporting your data from a proprietary platform is often technically possible but practically cumbersome.
- Shutdown risk is real. Google has a documented history of discontinuing products. Teams that built on Google Cloud Messaging, Google Firebase App Indexing, and other discontinued products learned this the hard way.
What to evaluate when choosing an open-source BaaS
Before comparing specific platforms, it's worth defining the criteria that matter most:
- Feature coverage: Does the platform provide authentication, database, storage, functions, and real-time? Or will you need to add other services to fill the gaps?
- Data model: Does the platform use a relational (SQL) or document-oriented (NoSQL) model? This affects query patterns, migrations, and developer familiarity.
- Self-hosting quality: How well-documented and operationally simple is the self-hosting experience? Is it a single Docker Compose file or a complex multi-service setup?
- Community and maintenance: How active is development? How quickly are issues resolved? Is there a commercial entity behind the project that will continue funding development?
- SDK and language support: Does the platform provide SDKs for the languages and frameworks your team uses?
- Migration path: If you start with a managed cloud offering and want to self-host later (or vice versa), how straightforward is that transition?
- License: What does the license permit? Some open-source projects use licenses that restrict commercial use or require open-sourcing your own code.
The open-source BaaS landscape
Several serious open-source alternatives have emerged. Here is an overview of the most widely used platforms:
Appwrite
Appwrite is an open-source backend platform for building web, mobile, and AI apps. It provides authentication (email/password, OAuth2 with 30+ providers, phone/SMS, anonymous sessions, and MFA), a SQL-backed database with real-time subscriptions, file storage with granular access controls, serverless functions (supporting Node.js, Python, Go, PHP, Ruby, Dart, and more), and messaging (push notifications, email, SMS). It also includes an integrated hosting solution for static and server-side rendered frontends. Appwrite can be self-hosted on any Docker-compatible infrastructure or used via Appwrite Cloud.
Data model: SQL-backed (MariaDB/MySQL under the hood, accessed via a JSON REST API using tables and rows)
Best for: Teams that need a broad, all-in-one feature set, auth, database, storage, functions, real-time, messaging, and hosting, without piecing together separate services, with the option to self-host or use a managed cloud.
Supabase
Supabase is an open-source Firebase alternative built on top of PostgreSQL. It provides authentication, a Postgres database with an auto-generated REST and GraphQL API, real-time subscriptions, file storage, and edge functions. Supabase is available as a managed cloud service or can be self-hosted, though the self-hosting setup is more involved than single-binary alternatives.
Data model: Relational (SQL / PostgreSQL)
Best for: Teams with SQL expertise who want a Firebase-like developer experience on top of a relational database, or teams with complex querying needs.
PocketBase
PocketBase is a single-file open-source backend written in Go. It provides authentication, a SQLite-backed database, file storage, and real-time subscriptions. Its primary appeal is operational simplicity: a single executable that runs anywhere with zero external dependencies.
Data model: Relational (SQLite)
Best for: Small applications, MVPs, and solo developers who want minimal operational overhead. Less suited for applications that will need horizontal scaling or complex querying across large datasets.
Directus
Directus is an open-source data platform and headless CMS. Rather than providing its own database, it wraps any existing SQL database in a REST and GraphQL API and provides a visual data studio for content management. It occupies a different niche than the other platforms here, closer to an API layer and CMS than a full-featured BaaS.
Data model: Relational (wraps existing SQL databases)
Best for: Teams that need a content management backend or want to add a structured API layer to an existing database, rather than teams starting from scratch with a new application backend.
Nhost
Nhost is an open-source Firebase alternative built on top of PostgreSQL and Hasura. It provides authentication (via Hasura Auth), a PostgreSQL database exposed through a Hasura-powered GraphQL API with real-time subscriptions, file storage (via Hasura Storage), and serverless functions (Node.js/Deno). Nhost can be self-hosted via Docker Compose or used as a managed service through Nhost Cloud.
Data model: Relational (PostgreSQL, accessed via GraphQL)
Best for: Teams that want a GraphQL-first developer experience on top of a PostgreSQL database, particularly those already familiar with Hasura.
Convex
Convex is an open-source reactive backend platform built around TypeScript-native functions and a real-time document database. Data is organized as documents in tables, and all queries, mutations, and subscriptions are written as TypeScript functions that run on the backend. Convex handles reactivity automatically; clients stay in sync without manual subscription management. It can be self-hosted or used via Convex Cloud. It is Apache 2.0 licensed.
Data model: Document (custom reactive document store with ACID transactions)
Best for: TypeScript-first teams building real-time or collaborative applications who want end-to-end type safety and automatic reactivity without managing WebSocket infrastructure.
Customer identity without the hassle
Add secure authentication in minutes, not weeks.
Built-in security and compliance
Multiple login methods
Custom authentication flows
Multi-factor authentication
Comparing the platforms at a glance
| Appwrite | Supabase | PocketBase | Directus | Nhost | Convex | |
Auth | Yes | Yes | Yes | Limited | Yes | Via JWT/third-party |
Database | SQL-backed (API) | PostgreSQL | SQLite | Wraps existing SQL | PostgreSQL (GraphQL) | Document (reactive) |
Real-time | Yes | Yes | Yes | No | Yes (GraphQL subscriptions) | Yes (built-in) |
Storage | Yes | Yes | Yes | Yes | Yes | Yes |
Functions | Yes | Edge functions | Via Go extensions | No | Yes (Node.js/Deno) | Yes (TypeScript) |
Messaging | Yes | No | No | No | No | No |
Web hosting | Yes | No | No | No | No | No |
Self-hosting | Docker Compose | Complex | Single binary | Docker Compose | Docker Compose | Yes |
Managed cloud | Yes | Yes | No | Yes | Yes | Yes |
License | BSD 3-Clause | Apache 2.0 | MIT | BSL 1.1* | MIT | FSL-1.1-Apache-2.0 |
Note: Directus uses the Business Source License, which restricts certain commercial use cases. Review the license terms before adopting it in a commercial product.
Choosing the right platform
The right platform depends on your data model preference, operational constraints, and feature requirements. Key differentiators across these platforms:
- Breadth of built-in features (auth, database, storage, functions, real-time, messaging, web hosting): Appwrite covers all of these in a single platform. Most others require additional services to reach the same surface area.
- Direct SQL access (raw queries,
psql, schema migrations): Supabase exposes PostgreSQL directly. Appwrite's database is SQL-backed but accessed through a REST or GraphQL API rather than direct SQL. - GraphQL API: Nhost is built around a Hasura-powered GraphQL API on PostgreSQL. Appwrite also exposes a GraphQL API alongside its REST API.
- TypeScript-native reactivity: Convex uses a document database with TypeScript functions and built-in real-time sync, which is a fundamentally different model from the other platforms here.
- Operational simplicity / minimal infrastructure: PocketBase ships as a single binary with no external dependencies.
- API layer over an existing database: Directus wraps any existing SQL database rather than providing its own, suiting teams that already have a database they want to expose via API.
Why teams choose Appwrite
Among the platforms compared here, Appwrite covers the widest feature surface in a single deployable unit: auth, database, storage, functions, real-time, messaging, and frontend hosting are all available without wiring together separate services. A few characteristics stand out:
- Flexible API access: Appwrite exposes every product through both a REST and a GraphQL API, so teams are not locked into a single query style.
- Cloud-to-self-hosted portability: Appwrite Cloud and the self-hosted version share identical APIs and SDKs. Teams can start on the managed cloud and migrate to self-hosted infrastructure (or vice versa) without changing application code.
- Built-in migrations: Appwrite's Migrations tool can automatically transfer users, databases, and storage files from Firebase, Supabase, and Nhost, as well as between Appwrite Cloud and self-hosted instances.
- BSD 3-Clause license: No restrictions on commercial use, no source-available clauses, and no licensing fees at scale.
- Active development: Appwrite is backed by a dedicated engineering team with regular releases and a large open-source contributor community.
Open-source BaaS platforms have closed most of the capability gap that once made proprietary platforms the default choice. For most applications, from MVPs to production-scale products, an open-source backend platform provides everything needed while giving teams significantly more control over their data, their costs, and their future migration options.



