Why We Tested All Three
We built the same real-time chat app on Supabase, Firebase, and Appwrite to see which backend-as-a-service actually saves indie developers the most time. Each platform promises “ship in hours, not weeks” — but the reality is more nuanced. After 30 days of development and production use, here is what we found.
Supabase: The PostgreSQL-Powered Open Source Option
What We Built
A real-time chat app with 5,000 messages, user auth, and file uploads. Setup time: 45 minutes. Supabase’s auto-generated API from PostgreSQL schemas is genuinely impressive — define your tables and you get a REST and GraphQL API instantly.
Strengths
- PostgreSQL under the hood — full SQL power, joins, views, stored procedures
- Real-time subscriptions work reliably for chat and live dashboards
- Row Level Security — fine-grained access control at the database level
- Generous free tier — 500MB database, 1GB file storage, 50K monthly active users
- Open source — self-host if you outgrow the cloud tier
Weaknesses
- Edge Functions are Deno-based — limited npm ecosystem compared to Cloud Functions
- No built-in push notifications (Firebase has FCM)
- Storage is S3-compatible but less polished than Firebase Storage
- Cold starts on free tier can hit 2-3 seconds for API calls
Firebase: The Google Ecosystem Default
What We Built
Same chat app. Setup time: 30 minutes. Firebase’s SDK is more mature and documentation is better. Firestore’s real-time sync “just works” — zero configuration for live updates.
Strengths
- Best real-time database — Firestore’s live sync is the gold standard
- FCM push notifications built-in — critical for mobile apps
- Google ecosystem — integrates with Analytics, Crashlytics, AdMob
- Massive community — most Stack Overflow answers, most tutorials
- Functions v2 — runs on Cloud Run, scales to zero, supports any language
Weaknesses
- NoSQL lock-in — migrating away from Firestore is extremely painful
- Pricing unpredictability — document reads can spike unexpectedly
- No SQL queries — complex aggregations require Cloud Functions
- Vendor lock-in — no self-hosting option, fully Google-dependent
Appwrite: The Developer-First Open Source Challenger
What We Built
Same chat app. Setup time: 60 minutes (self-hosted). Appwrite’s UI is gorgeous and the DX is thoughtful, but the ecosystem is smaller. Their cloud offering (launched 2025) is still maturing.
Strengths
- Self-hosted from day one — Docker Compose, full control
- Beautiful dashboard — best admin UI of all three
- Built-in features — auth, storage, functions, databases, messaging all included
- No vendor lock-in — open source, migrate anytime
Weaknesses
- Smallest community — fewer tutorials, fewer answers on Stack Overflow
- Real-time is less battle-tested than Firestore or Supabase
- Cloud tier pricing is less competitive than Supabase free tier
- Edge functions are newer and have fewer runtime options
Pricing Comparison (2026)
- Supabase Free: 500MB DB, 1GB storage, 50K MAU — best free tier
- Firebase Free (Spark): 1GB Firestore, 5GB storage — good for prototyping
- Appwrite Free (Cloud): 1GB DB, 1GB storage — comparable
- At $25/month: Supabase Pro (8GB DB), Firebase Blaze (pay-per-use), Appwrite Pro (10GB DB)
Final Verdict
Supabase wins for indie developers who want SQL power and open source (8.5/10). Firebase wins for mobile-first apps needing push and Google integration (8/10). Appwrite wins for self-hosted deployments (7/10). Our pick for most indie devs in 2026: Supabase — the PostgreSQL foundation gives you room to grow without the NoSQL trap.
FAQ
Q: Can I migrate from Firebase to Supabase?
A: Yes but it is painful. Firestore’s NoSQL data needs restructuring for PostgreSQL. Budget 2-4 weeks for a medium app.
Q: Is Supabase production-ready?
A: Yes. Used by Mozilla, 1Password, and thousands of production apps. The Postgres foundation is battle-tested.
Q: Which is cheapest at scale?
A: Self-hosted Appwrite or Supabase on a $20/month VPS. Firebase gets expensive fast with document reads.
Related Articles
- Neon vs Supabase vs PlanetScale 2026
- Hetzner vs DigitalOcean vs Vultr 2026
- Coolify vs Dokku vs CapRover 2026
Quick Comparison Table
| Platform | Best For | Database | Auth | Open Source | Vendor Lock-in |
|---|---|---|---|---|---|
| Supabase | Postgres-first apps | Postgres | Built-in | Yes | Low |
| Firebase | Fast MVPs, mobile apps | Firestore | Built-in | No | High |
| Appwrite | Self-hosting, control | MariaDB/Postgres options | Built-in | Yes | Low-Medium |
Pricing and Scaling Reality
Firebase looks cheap at the beginning because the free Spark plan is generous enough for prototypes. The problem starts when reads and writes grow — Firestore pricing is usage-based and can spike unpredictably. Supabase pricing is easier to model because Postgres costs map more directly to database size and compute. Appwrite is attractive if you self-host and already have DevOps capacity, but that only saves money if your time is cheap enough to justify the maintenance burden.
For indie developers, the real question is not just monthly price. It is whether you can migrate later without rewriting your app. Firebase is the hardest to leave because Firestore’s document model, security rules, and cloud functions create deep coupling. Supabase is the easiest to leave because Postgres is standard. Appwrite sits in the middle — more portable than Firebase, but less universal than raw Postgres.
Which BaaS Should You Pick?
- Choose Supabase if you want SQL, open source, lower lock-in, and a product that feels modern without hiding too much infrastructure.
- Choose Firebase if speed of launch matters more than future portability, especially for mobile-first products.
- Choose Appwrite if you want self-hosting, deeper control, or compliance constraints that rule out fully managed platforms.
Migration Risk: The Hidden Cost
Most BaaS comparisons obsess over feature checklists and ignore migration pain. That is a mistake. A platform with slightly worse DX but low lock-in often wins over 2-3 years. Supabase’s Postgres foundation makes reporting, analytics, backups, and future migrations much easier. If you think your side project might turn into a real SaaS, that matters far more than saving a week during the MVP phase.
Best Choice by Scenario
If you are building a developer-facing SaaS, Supabase is the safest default because SQL, row-level security, and predictable migrations matter. If you are shipping a mobile app in 2 weeks and just need auth, database, and push notifications with minimum setup, Firebase still wins on speed. If you have compliance requirements, on-premise needs, or simply want full control over your stack, Appwrite becomes the strongest candidate despite the extra operational work.