tl;dr
Firebase is still a solid choice for getting an MVP out the door — the auth, database, hosting, and functions all work together without configuration headaches. But the pricing gets weird at scale (you pay per document read, and those add up fast), the NoSQL data model fights you on anything relational, and you are locked into Google's ecosystem with no exit ramp. The alternatives below give you more control, more predictable pricing, and in most cases, the ability to self-host if you want true independence.
Why founders look for Firebase alternatives
Firebase does a lot of things right. The onboarding is fast, the SDKs are polished, and you can go from zero to a working app with auth, database, and hosting in an afternoon. For hackathons and MVPs, it is hard to beat.
The problems start when your project grows beyond the prototype stage.
Pricing surprises. Firebase charges per document read, write, and delete in Firestore. This sounds reasonable until you realize that loading a list of 50 items costs 50 reads. A dashboard that refreshes every 30 seconds can burn through your free tier in hours. The pricing model punishes the exact usage patterns that real apps have — frequent reads of multiple documents. Founders regularly share stories of unexpected bills in the hundreds or thousands of dollars.
Vendor lock-in. Firestore's data model and query language are proprietary. Cloud Functions run on Google Cloud. Firebase Auth tokens are tied to the Firebase ecosystem. Migrating away means rewriting your data layer, auth system, and serverless functions. That is a major engineering effort for a solo founder.
NoSQL limitations. Firestore is a document database. It works beautifully for simple data — user profiles, chat messages, settings. But the moment you need joins, aggregations, or complex queries across collections, you are fighting the data model. You end up denormalizing data (duplicating it across collections) or making multiple queries that drive up your read costs.
No SQL means no ecosystem. The entire world of SQL tooling — BI tools, data analysis, migration frameworks, ORMs — does not work with Firestore. You are limited to Firebase's own console and SDK for everything.
These are the reasons alternatives exist. Not because Firebase is bad, but because it optimizes for fast starts at the cost of long-term flexibility.
How we evaluated these alternatives
For each tool, we looked at what matters to a solo bootstrapped founder shipping a real product:
- Time to first deploy: How quickly can you go from zero to a working API with auth?
- Pricing predictability: Can you estimate your monthly bill before it arrives?
- Data portability: If you need to leave, how painful is the migration?
- Self-hosting option: Can you run it on your own infrastructure?
- Production readiness: Is this battle-tested or still in early beta?
We also considered ecosystem size — documentation quality, community support, and availability of tutorials and examples. A technically superior tool with no docs is worse than a decent tool with great docs when you are building alone.
Deep dive: what each alternative does best
Supabase — the default Firebase replacement
Supabase has positioned itself as "the open-source Firebase alternative," and honestly, that positioning is accurate. It gives you a Postgres database, auth, real-time subscriptions, edge functions, and file storage — the same feature categories as Firebase, but built on open standards.
The Postgres foundation is the biggest difference. Instead of Firestore's document queries, you write SQL. Instead of denormalizing data across collections, you use proper relational joins. Instead of Firestore security rules (a DSL that only Firebase understands), you use Row Level Security policies in SQL. If you have ever used Postgres, the learning curve is minimal.
The dashboard is surprisingly good for an open-source project. You get a table editor, SQL editor, auth user management, storage browser, and real-time inspector. It feels like a product, not a developer tool cobbled together from open-source components.
Real-time subscriptions work through Postgres logical replication. You can subscribe to changes on any table, filtered by conditions. It works, but it is not as seamless as Firestore's real-time listeners, which handle offline caching and conflict resolution automatically. If your app is heavily real-time (like a collaborative editor), this matters.
Edge Functions run on Deno, not Node.js. Most npm packages work, but some do not. Check compatibility before assuming your existing serverless code will port over. Supabase also offers database functions (PL/pgSQL) for server-side logic that runs inside the database — often faster than calling an edge function.
The free tier is generous but has a catch: projects pause after one week of inactivity. For a production app, you need the Pro plan at $25/month minimum. That gets you 8GB database, 100GB bandwidth, and no pausing.
When to pick Supabase: You are building a web app with relational data, you know SQL, and you want a managed service that you could self-host later if needed.
Appwrite — the self-hosting champion
Appwrite is what you want if your first requirement is "I need to own the entire stack." It is a Docker-based BaaS that you deploy on your own server. One docker compose up command gives you auth, databases, storage, functions, and a dashboard.
The auth system is comprehensive — over 30 OAuth providers, email/password, magic links, phone auth, and anonymous sessions. For most apps, auth is the most painful part to build from scratch, and Appwrite eliminates that entirely.
Functions support multiple runtimes: Node.js, Python, PHP, Ruby, Dart, Swift, and more. This flexibility is unusual — most BaaS platforms lock you into one language. If your team has a Python dev who wants to write backend logic while you handle the TypeScript frontend, Appwrite accommodates that.
The database uses MariaDB under the hood but exposes a document-based API. This is a middle ground — you get structured collections with defined attributes (more structured than Firestore), but you do not get raw SQL access. For founders who want the full power of SQL, Supabase is a better fit. For those who prefer a document model with stronger typing, Appwrite works well.
The managed cloud offering starts at $15/month for the Pro plan, which is cheaper than most competitors. But the real value proposition is self-hosting. Run Appwrite on a $10/month Hetzner VPS and you have a full BaaS for your app with no recurring platform fees.
When to pick Appwrite: You want complete control of your backend infrastructure and are comfortable managing Docker containers in production.
PocketBase — the radical simplifier
PocketBase takes a different approach from everything else on this list. Instead of a platform with microservices, containers, and cloud dashboards, it is a single Go binary. You download one file, run it, and you have a backend with a database, auth, real-time subscriptions, file storage, and an admin UI.
The database is SQLite, which means your entire database is a single file on disk. Backups are literally copying that file. There is no database server to manage, no connection pools to tune, no replication to configure. For the vast majority of indie projects, SQLite handles the workload without breaking a sweat.
The admin dashboard is built into the binary. Open your browser to the admin URL and you get a clean interface for managing collections (tables), viewing data, managing auth users, and exploring the REST API. It even generates client SDK code for your collections.
PocketBase also supports extending the backend with Go code if you need custom logic. You can add custom API routes, hooks that run before or after database operations, and middleware. This turns PocketBase from a simple BaaS into a lightweight application framework.
The fundamental limitation is scalability. SQLite runs on a single server. There is no built-in clustering, replication, or sharding. If your app needs to handle thousands of concurrent write operations or you need multi-region deployment, PocketBase is not the right tool. But for a SaaS serving hundreds of users, an internal tool, or a side project? It is more than enough.
The other concern is the bus factor. PocketBase is maintained primarily by one developer. The project is popular (30k+ GitHub stars), but the development pace depends on one person. For a critical production system, this is worth considering. For a side project or early-stage startup, the simplicity benefit outweighs the risk.
When to pick PocketBase: You want the simplest possible backend that you can deploy to a single server and forget about. Perfect for MVPs, side projects, and apps with modest scale requirements.
Convex — the real-time native
Convex takes a fundamentally different approach to backend development. Instead of a database that you query, Convex gives you a reactive database where every query is automatically a real-time subscription. When data changes, every client displaying that data updates instantly.
This is not a bolt-on feature. The entire platform is designed around reactivity. You write query functions in TypeScript, and the results are automatically cached and invalidated when the underlying data changes. There is no manual subscription management, no polling, no WebSocket plumbing.
The type safety story is compelling. You define your schema in TypeScript, and the types flow from the database through your queries and mutations all the way to your React (or other framework) components. A change to your schema shows type errors in your UI code immediately. For solo developers, this catches bugs before they reach production.
Convex also provides proper ACID transactions, which Firestore does not. If you need to update multiple documents atomically (deduct credits AND record a transaction AND update a user's balance), Convex handles this correctly without workarounds.
The downside is lock-in. Convex is a managed platform with no self-hosting option. Your data lives on their infrastructure, and your backend logic uses their proprietary patterns. If Convex changes pricing, pivots, or shuts down, you are migrating everything. For a side project, this risk is acceptable. For your primary revenue-generating product, weigh it carefully against the productivity benefits.
When to pick Convex: You are building a real-time collaborative app and want type-safe, reactive data without managing WebSocket infrastructure.
Nhost — the GraphQL backend
Nhost bundles Hasura (GraphQL engine), Postgres, auth, storage, and serverless functions into a single platform. If you are already sold on GraphQL for your API layer, Nhost removes the infrastructure burden of running Hasura yourself.
Hasura auto-generates a GraphQL API from your Postgres schema. Create a table, and you immediately get queries, mutations, subscriptions, and filtering — all with proper types. No resolver code to write. This is a massive productivity boost for founders who are comfortable with GraphQL.
The auth system supports email/password, magic links, and common OAuth providers. It integrates with Hasura's permission system, so you can define row-level access control through the Hasura console rather than writing custom middleware.
Self-hosting is supported through Docker Compose, making Nhost a viable option for founders who want data control. The managed platform starts at $25/month for the Pro plan with reasonable included resources.
The trade-off is complexity. GraphQL adds a layer of abstraction that not everyone needs. If your API is mostly CRUD operations, REST endpoints (like Supabase provides) are simpler. If you are not already familiar with GraphQL concepts — schemas, resolvers, subscriptions, fragments — there is a meaningful learning curve on top of learning the Nhost platform itself.
When to pick Nhost: You want a GraphQL API auto-generated from your Postgres schema without managing Hasura, Postgres, and auth separately.
AWS Amplify — the enterprise on-ramp
AWS Amplify is Amazon's answer to Firebase. It wraps core AWS services — DynamoDB, Cognito, S3, Lambda, AppSync — behind a CLI and client libraries that abstract away the AWS complexity.
The value proposition is clear: you get the reliability and scalability of AWS without needing to configure IAM policies, VPCs, and CloudFormation templates. The Amplify CLI generates the infrastructure, and the client libraries handle auth flows, API calls, and file uploads.
Amplify Hosting is a nice addition — CI/CD pipeline for your frontend with preview deployments on pull requests. If you are already deploying a Next.js or React app, Amplify Hosting is competitive with Vercel.
The problems are AWS-shaped. Pricing is pay-per-use across multiple services, which makes your monthly bill unpredictable. DynamoDB's single-table design pattern has a steep learning curve. Cognito's auth flows are functional but the developer experience is rough compared to Firebase Auth or Supabase Auth. And when Amplify's abstractions do not cover your use case, you fall through to raw AWS — which is powerful but complicated.
For founders already running infrastructure on AWS, Amplify makes sense as a way to keep everything in one ecosystem. For everyone else, the other options on this list provide a better developer experience.
When to pick AWS Amplify: You are already committed to AWS, need enterprise-grade scalability guarantees, and are willing to trade developer experience for ecosystem consistency.
When to stick with Firebase
Firebase is still the right call in specific situations:
- Offline-first mobile apps. Firestore's client SDKs handle offline caching, conflict resolution, and sync better than any alternative listed here.
- You are deep in the Google ecosystem. If you use Google Analytics, Google Ads, BigQuery, and Google Cloud, Firebase integrates seamlessly.
- Rapid prototyping. Nothing matches Firebase's speed for going from zero to a working app with auth and data persistence.
- Your app is read-heavy with simple data. Firestore shines when data fits naturally into documents and you mostly read individual documents or small collections.
The time to value with Firebase is genuinely excellent. If your goal is to validate an idea as fast as possible and you can afford to migrate later, Firebase is a reasonable choice for the prototype.
Migration strategies for founders
Moving off Firebase is not trivial, but it is doable:
- Start with auth. Set up auth on the new platform first. Run both auth systems in parallel during migration.
- Export Firestore data. Use the Firebase Admin SDK to export collections as JSON or use
gcloud firestore exportfor larger datasets. - Transform your data model. If moving to Postgres (Supabase/Nhost), you will need to convert your document structure to relational tables. Map subcollections to foreign key relationships.
- Migrate storage. Firebase Storage files can be downloaded and re-uploaded to the new platform's storage. Script this — do not do it manually.
- Update client code gradually. Replace Firebase SDK calls with the new platform's SDK, one feature at a time. Auth first, then data, then storage, then functions.
- Keep Firebase running during transition. Do not cut over all at once. Run both systems for at least two weeks to catch edge cases.
Budget 2-4 weeks for a medium-sized project. The hardest part is usually the data model transformation from NoSQL to relational. Everything else is straightforward SDK swapping.
| feature | Firebase | Supabase | Appwrite | PocketBase | Convex | Nhost | AWS Amplify |
|---|---|---|---|---|---|---|---|
| Database type | NoSQL (Firestore) | Postgres (relational) | MariaDB (document API) | SQLite | Custom reactive DB | Postgres + GraphQL | DynamoDB (NoSQL) |
| Self-hostable | No | Yes (Docker) | Yes (Docker) | Yes (single binary) | No | Yes (Docker) | No |
| Real-time subscriptions | Excellent | Good | Good | Good | Excellent (native) | Via Hasura | Via AppSync |
| Auth included | Yes | Yes | Yes (30+ providers) | Yes (basic) | Yes | Yes | Yes (Cognito) |
| Edge Functions | Yes (Node.js) | Yes (Deno) | Yes (multi-runtime) | No | Yes (TypeScript) | Yes | Yes (Lambda) |
| Free tier DB storage | 1GB | 500MB | 1GB | Unlimited (self-host) | Included | 1GB | 25GB (12 months) |
Alternative picks
Supabase
Open-source Firebase alternative built on Postgres. Includes auth, real-time subscriptions, edge functions, storage, and a dashboard. The SQL you already know instead of NoSQL document queries.
pricing: Free tier (500MB DB, 1GB storage). Pro $25/mo. Team $599/mo. Self-hosted: free.
pros
- + Standard Postgres database — no proprietary query language to learn
- + Open source with Docker self-hosting option for full control
- + Row Level Security policies replace Firebase security rules with SQL you can reason about
cons
- - Real-time subscriptions are less mature than Firestore real-time listeners
- - Edge Functions are Deno-based, not Node.js — your existing npm packages may not work
- - Free tier pauses projects after 1 week of inactivity
Appwrite
Open-source BaaS designed to be self-hosted. Includes auth, databases, storage, functions, and messaging. Ships as a Docker stack you can deploy anywhere.
pricing: Free tier (75K requests/mo). Pro $15/mo. Self-hosted: free (you pay infra).
pros
- + Fully self-hosted with a single Docker command — true data ownership
- + Built-in auth supports 30+ OAuth providers out of the box
- + Functions runtime supports Node.js, Python, PHP, Ruby, Dart, and more
cons
- - Database is document-based (MariaDB under the hood) — no raw SQL access
- - Smaller ecosystem and fewer tutorials compared to Supabase or Firebase
- - Self-hosting means you manage backups, scaling, and uptime yourself
PocketBase
Entire backend in a single Go binary. SQLite database, real-time subscriptions, auth, file storage, and an admin dashboard. Download the file, run it, done.
pricing: Free and open source. You only pay for the server you host it on.
pros
- + Absurdly simple deployment — one binary, no Docker, no dependencies
- + SQLite means zero database management and instant backups (copy the file)
- + Built-in admin UI with collection management and API explorer
cons
- - SQLite limits horizontal scaling — single server only
- - No managed hosting option — you must self-host
- - One-person project (Gani Georgiev) — bus factor of one
Convex
Reactive backend platform where your database queries automatically update clients in real-time. Built for TypeScript-first development with end-to-end type safety from database to UI.
pricing: Free tier (generous for hobby). Pro $25/mo. Usage-based beyond included limits.
pros
- + Automatic real-time sync — every query is a live subscription by default
- + End-to-end TypeScript with type-safe database queries and mutations
- + Transactional guarantees that Firestore does not provide
cons
- - Proprietary platform with no self-hosting option — vendor lock-in risk
- - Requires learning Convex-specific patterns for queries and mutations
- - Younger platform — fewer community resources and production war stories
Nhost
Firebase alternative that bundles Hasura GraphQL engine, Postgres, auth, storage, and serverless functions. GraphQL-first architecture for developers who prefer that API style.
pricing: Free tier (1GB DB, 5GB storage). Pro $25/mo. Self-hosted via Docker: free.
pros
- + Hasura auto-generates a GraphQL API from your Postgres schema — zero boilerplate
- + Self-hostable with Docker Compose for full control
- + Postgres underneath means standard SQL access alongside GraphQL
cons
- - GraphQL-first design adds complexity if you prefer REST
- - Hasura has its own learning curve on top of Postgres
- - Smaller community than Supabase — fewer examples and integrations
AWS Amplify
AWS attempt at a Firebase-like developer experience. Wraps DynamoDB, Cognito, S3, Lambda, and AppSync behind a CLI and libraries. Full AWS power with a simpler interface.
pricing: Pay-as-you-go AWS pricing. Free tier covers most hobby projects for 12 months.
pros
- + Backed by AWS — no concerns about the company disappearing
- + Seamless integration with the entire AWS ecosystem when you need to scale
- + Amplify Hosting includes CI/CD for frontend deployments
cons
- - AWS pricing is notoriously unpredictable — one bad query can spike your bill
- - Amplify abstractions sometimes fight you when you need to customize the underlying AWS services
- - DynamoDB has a steep learning curve compared to Firestore or Postgres
FAQ
Is Supabase really a drop-in replacement for Firebase?+
Not exactly. Supabase uses Postgres (relational) while Firebase uses Firestore (document NoSQL). Your data model and queries will be fundamentally different. The auth APIs are similar but not identical. The real-time subscription patterns differ. However, Supabase covers the same use cases — auth, database, storage, functions, real-time — so it replaces Firebase at the architecture level even if the code is not a direct port. Budget 1-2 weeks for migration of a medium-sized project.
What happens to my Firebase project if Google decides to shut it down?+
Google has a history of killing products, but Firebase is deeply integrated into the Google Cloud ecosystem and generates significant revenue. A sudden shutdown is unlikely. However, pricing changes and feature deprecations do happen. The real risk is not Firebase disappearing — it is Firebase becoming more expensive or changing its API in ways that force migration work. Self-hostable alternatives like Supabase and Appwrite eliminate this risk entirely.
Can PocketBase handle production traffic?+
PocketBase can handle more traffic than most indie projects will ever see. SQLite is surprisingly performant for read-heavy workloads. The limitation is write concurrency on a single server — if you need thousands of concurrent writes per second, PocketBase is not the right choice. For a SaaS with a few hundred active users, an API serving a mobile app, or an internal tool, PocketBase is more than capable.
Which Firebase alternative is cheapest for a side project?+
PocketBase on a $5/month VPS (Hetzner, Railway, or Fly.io) is the cheapest option — around $5/month total for essentially unlimited usage within single-server limits. Supabase and Nhost free tiers are truly free but have usage limits and project pausing. Firebase itself has a generous free tier (Spark plan) that covers most side projects, so switching purely for cost at small scale does not always make sense.
Should I learn Firebase or Supabase for a new project in 2026?+
If you already know SQL, start with Supabase. The learning curve will be much gentler because you are building on Postgres rather than learning Firestore query patterns. If you are coming from a NoSQL background or building a mobile app with offline-first requirements, Firebase still has an edge with its client SDKs and offline persistence. For most web apps built by solo founders, Supabase is the better default choice today.