The Reality Check Matrix (What I Wish Someone Told Me)

Feature

Supabase

Firebase

Appwrite

PocketBase

Database

PostgreSQL (real SQL, finally)

Firestore (query limitations will drive you insane)

Whatever you want (decision fatigue)

SQLite (one writer at a time)

Where it runs

Cloud or your Docker (mostly works)

Google Cloud only (no escape)

Cloud or your servers (Docker hell)

Download and run (seriously)

Pricing

Free → $25/month (storage adds up)

Free → Pay-per-everything

Free → $25/month (bumped from $15)

Free (but you manage the VPS)

Tech Stack

TypeScript/JavaScript (auto-types)

Multi-language SDKs (mobile wins)

Multi-language everything (jack of all trades)

Go binary (master of simplicity)

Real-time

✅ PostgreSQL changes

✅ Magic that works

✅ WebSockets

✅ Built-in subscriptions

File Storage

✅ Object storage

✅ Cloud storage ($$)

✅ Built-in storage

✅ Local files

Authentication

✅ OAuth + magic links

✅ The gold standard

✅ Standard auth

✅ Basic but works

Functions

✅ Deno edge functions

✅ Cloud functions

✅ Custom functions

❌ No serverless

Platform Deep Dive: What Each Backend Actually Feels Like to Use

Backend Platform Architecture Comparison

Supabase: PostgreSQL with Batteries Included

Supabase Logo

The Good News

Supabase is basically PostgreSQL with a REST API and real-time subscriptions. If you know SQL, you'll feel at home. If you're coming from NoSQL hell, prepare to remember why relational databases exist.

Performance Reality

I've pushed Supabase to around 18K concurrent users (maybe 22K during Black Friday) before getting connection pool exhausted errors. The problem wasn't Supabase - it was my dumbass JOIN query across 5 tables that looked fine in development but murdered the connection pool in production. PostgreSQL lets you write actual joins, but just because you CAN doesn't mean you should without proper indexing.

Production War Stories

We migrated from Firebase to Supabase and it took 3 months, not the "few weeks" everyone promises. Firestore's document model doesn't map cleanly to SQL relationships. Budget way more time than you think.

The migration took forever, but once we finished, our reporting queries went from 15-second nightmares to 2-second wins. Actually worth the pain.

Cost Reality Check

Pro plan is $25/month, which is reasonable until you factor in storage costs of $0.125/GB after your 8GB limit. Adds up fast if you're storing images or files. But honestly, it's still cheaper than Firebase if you're doing any real work.

Firebase: The Roach Motel (Easy to Get In, Hell to Get Out)

Firebase Services Architecture

For Mobile? No Contest

Firebase is bulletproof for mobile apps. The SDKs are rock solid and offline sync just works. If you're building iOS/Android first, this is your answer.

Firestore's Weird Query Hell

Firebase real-time is black magic - it just works. But Firestore's query limitations will drive you insane. Want to query on multiple fields? Nope, create a composite index. Want to do a simple NOT IN query? Good fucking luck. You'll end up writing horrible client-side filtering code.

Pricing Surprise Party

Firebase billing will fuck you sideways. That pricing calculator? Might as well use a magic 8-ball. We got hit with an $847 bill at 3am on Saturday because our real-time listener got stuck in a loop - kept reading the same 50 documents over and over again. 2.3 million document reads in 6 hours. The worst part? Firebase doesn't have circuit breakers to stop runaway queries. You just get fucked and billed for it.

Vendor Lock-in Reality

Firebase gets you hooked with convenience, then the bills destroy your budget. Every database read costs money, and your app reads way more than you think. Migrating off Firebase? Hope you like rewriting everything. It's designed to be a roach motel.

Appwrite: The Underdog with Potential

Appwrite Platform Overview

What They're Trying to Do

Appwrite wants to be everything to everyone - web, mobile, server. It's like Firebase but with more database options and better self-hosting. They bumped pricing from $15 to $25/month as of September 2025, which tells you they're burning cash trying to catch up.

The Good Parts

Credit where it's due - unlike Firebase's Firestore weirdness, Appwrite lets you choose your database. Want MongoDB? Sure. MySQL? Fine. The SDKs are decent and the admin panel doesn't suck. Self-hosting is actually well documented, unlike some platforms.

The Reality Check

Appwrite is fighting an uphill battle. Firebase has mobile locked down, Supabase has the PostgreSQL crowd, and PocketBase has the indie developers. Appwrite's trying to be in the middle of everything, which means they're not the best at anything specific.

When to Use It

If you need multi-database support or want to hedge your bets with self-hosting options, Appwrite makes sense. The documentation has gaps, but the community on Discord actually helps instead of telling you to read the docs.

PocketBase: The Single Binary That Actually Works

PocketBase Single Binary Architecture

Holy Shit, It's One File

PocketBase is the entire backend in one fucking file - a 10MB Go binary. Download it, run it, you're done. Database, auth, file uploads, real-time - it's all there. No Docker, no Kubernetes, no bullshit.

SQLite Performance Reality

PocketBase handles reads like a beast - seriously fast. But SQLite chokes when multiple users write simultaneously. I learned this the hard way during a product launch - hit around 400 concurrent users trying to sign up and started getting database is locked errors. SQLite queues all writes behind each other. Fine for blogs, disaster for anything with real user interaction.

Development Experience

Local development IS production. The admin UI is surprisingly decent for a Go app. Schema migrations are just SQL files. No complicated deployment pipelines, no environment variable hell.

Honestly? It's refreshing in a world of overcomplicated infrastructure. Sometimes simple just works.

The Indie Developer's Best Friend

A $5/month VPS can run multiple PocketBase instances. No monthly subscription fees eating into your indie SaaS profits. But when you need to scale beyond one server, you're on your own. No managed scaling, no support team to call at 3am.

Just Tell Me What to Use

Use Supabase If

You know SQL and want PostgreSQL with an API. Building a SaaS with complex reporting needs. Want to self-host later. Don't mind paying for actual database features.

Use Firebase If

Building mobile apps. Need bulletproof real-time features. Want Google's ecosystem. Don't mind vendor lock-in and weird billing surprises.

Use Appwrite If

You need multi-database support or want to hedge your bets with self-hosting. Building across multiple platforms simultaneously. The Discord community seems helpful.

Use PocketBase If

You're an indie dev who wants to keep things simple. Building content sites or low-write apps. $5/month VPS sounds better than $25/month SaaS. You can handle scaling yourself when the time comes.

What This Shit Actually Costs (After the Bill Shock)

Cost Component

Supabase

Firebase

Appwrite

PocketBase

Base Plan

$25/month Pro

Pay-as-you-go

$25/month Pro

$0

Database Storage

~$6-8 (storage creep is real)

~$1-2 Firestore storage

Included in Pro

$0

API Bandwidth

Included (250GB limit, then ouch)

~$35-40 (this is where they get you)

Included (2TB limit, generous)

$0

Authentication

Included (100K MAUs)

~$0 (under 50K limit)

Included (200K MAUs)

~$0

Functions

~$1 (basic usage)

~$0.20 (basic usage)

~$1 (basic usage)

N/A

Hosting

N/A

N/A

N/A

~$20/month VPS

Monthly Total

~$32-37 (always higher than you think)

~$40-60 (runaway queries will fuck you)

~$25-30 (decent value)

$20 (plus 2am server maintenance)

Migration Stories and Long-Term Reality Checks

Database Migration Architecture

Escaping Firebase Hell (And Other Migration Nightmares)

Firebase to Anything Else: Migrating from Firebase is like getting out of a subscription to the gym - they make it as painful as possible. Spent 4 months (not 3) rewriting everything because Firestore's nested document bullshit doesn't translate to normal database tables. Here's what they don't tell you:

  • Your "users/{userId}/posts/{postId}" becomes a foreign key nightmare in SQL
  • Those clever Firestore security rules? Rewrite them as RLS policies (fun!)
  • Real-time listeners that "just worked" now need WebSocket debugging at 3am
  • "Zero downtime migration" is a lie - budget for weekend maintenance windows

The Chatbase migration story mentions "3-4 weeks" but that's probably just the database part. Factor in testing, auth migration, and fixing all the edge cases you forgot about.

SQL Platform Hopping: Moving between Supabase, Appwrite, and PocketBase is less painful because they all speak SQL. But you'll still hit these gotchas:

  • API endpoints change (REST vs GraphQL vs whatever PocketBase calls theirs)
  • Auth providers need reconfiguration (your OAuth apps need new redirect URLs)
  • File uploads go to different buckets/paths
  • Cloud functions become edge functions become... PocketBase hooks?

PocketBase Is the Exit Strategy: PocketBase is just SQLite and a binary. Want to migrate away? Copy the .db file and you're done. Want to migrate TO PocketBase? Hope your write concurrency isn't too crazy because SQLite only handles one writer at a time.

Community Support Reality Check

Stack Overflow Tells the Story: Firebase has 89K+ questions on Stack Overflow. Supabase has 3,200+. PocketBase has like 200. Look, I'm not saying popularity equals quality, but when you're debugging at 3am with production down, guess which platform has answers to your exact fucking problem?

Integration Ecosystem: Firebase wins because it's been around forever. Every framework has Firebase tutorials, every service has Firebase webhooks, every developer has copy-pastable Firebase code. Supabase is catching up fast, but you'll still hit "no examples found" more often.

Documentation Quality: Firebase docs are comprehensive but sometimes outdated. Supabase docs are newer and cleaner but have gaps. Appwrite docs are improving but still patchy. PocketBase docs are minimal but at least they're accurate - probably because there's less to document.

Performance: What Actually Matters

Database Performance Analysis

Database Speed: PostgreSQL on Supabase absolutely destroys Firestore for anything with JOINs. Our user dashboard query went from 12 seconds (Firestore client-side filtering hell) to 1.8 seconds in Postgres. But grabbing a single document by ID? Firestore wins - 50ms vs 120ms. PocketBase is stupid fast for reads (SQLite is optimized for that) but the moment two users try to POST simultaneously, you get database is locked errors.

Real-Time Performance: Firebase real-time is black magic - it just works everywhere. Supabase real-time works but you'll spend time debugging WebSocket connections. PocketBase real-time is fine for simple stuff but don't expect Firebase-level magic.

Function Performance: Firebase Cloud Functions have cold start issues (300ms+ on a bad day). Supabase Edge Functions are faster (Deno runtime starts quick) but the ecosystem is smaller. PocketBase "functions" are just Go hooks, so they're instant but less flexible.

Security: The Boring Stuff That Matters

Auth Implementation: Firebase auth just works - social logins, MFA, password resets, all handled. Supabase auth is solid but you'll debug magic link deliverability issues. Appwrite auth is decent with good OAuth support. PocketBase auth is basic but functional.

Compliance Nightmares: Need HIPAA? Firebase has you covered (if you pay). Supabase got SOC 2 in 2024. Appwrite offers compliance on higher tiers. PocketBase? You're on your own - good luck explaining SQLite files to your compliance auditor.

Security by Default: Firebase and Supabase encrypt everything automatically. Appwrite does too in the cloud. PocketBase requires you to set up SSL yourself, and if you forget, your API is sitting naked on the internet.

Will These Platforms Still Exist in 5 Years?

Who's Got Money: Firebase is backed by Google's infinite cash pile - it's not going anywhere. Supabase raised $80M in 2022 and is growing fast. Appwrite got $27M but is fighting an uphill battle.

Now here's the twist - PocketBase is one guy's project but it's so simple it'll probably outlive us all. Sometimes the scrappy underdog wins just by not trying to do everything.

Development Speed: Firebase ships features constantly but half of them get deprecated later. Supabase moves fast and breaks things (in a good way). Appwrite is trying to keep up but resources are limited. PocketBase barely changes because it doesn't need to.

Lock-in Risk Assessment:

  • Firebase: You're trapped. Good luck getting out.
  • Supabase: It's open source PostgreSQL, you can always leave
  • Appwrite: Open source core, but some cloud features are proprietary
  • PocketBase: It's just SQLite and Go, ultimate freedom

The Real Decision Framework

Just Starting Out? Firebase for mobile, PocketBase for simple web apps. Don't overthink it.

Building Something Serious? Supabase if you want PostgreSQL power, Firebase if you need Google's ecosystem, Appwrite if you have specific multi-platform needs.

Worried About Costs? PocketBase on a VPS beats everything, but you'll handle scaling yourself.

Need Enterprise Features? Firebase or Supabase. Appwrite is getting there but isn't ready for the big leagues yet.

Questions Developers Actually Ask

Q

Which one should I use for mobile apps?

A

Firebase, no contest. The SDKs are bulletproof and offline sync just works. Everything else makes you reinvent wheels. Supabase is getting better for mobile but you'll hit edge cases. PocketBase works fine if you don't need fancy offline features.

Q

Can I escape Firebase without a complete rewrite?

A

Short answer: no. Long answer: nooooooo. Firebase migration is extracting yourself from superglue. Those Supabase migration tools? They handle maybe 30% of the work. You're still rewriting every query, security rule, and real-time subscription. Took us 4 months and two nervous breakdowns. Appwrite and PocketBase? Might as well start from scratch.

Q

Which has the best real-time features?

A

Firebase's real-time is black magic

  • it just works everywhere. Supabase real-time is good but you'll spend time debugging WebSocket connections. PocketBase real-time is fine for simple stuff but don't expect Firebase-level magic.
Q

What will this actually cost me?

A

For 50K users: Supabase runs about $180-300/month (storage creep gets you). Firebase is $250-500/month (runaway queries will fuck you). Appwrite falls around $120-200/month (decent value). PocketBase is $40-100/month on a VPS but you're fixing server issues at 3am. Those pricing calculators? Written by people who've never run production. Double whatever they say, then add 50%.

Q

Which has the best developer experience?

A

PocketBase wins for simplicity

  • download one binary and you're done.

Firebase has the most tutorials and Stack Overflow answers. Supabase TypeScript support is actually pretty good. Appwrite has decent tooling but a steeper learning curve.

Q

How do they handle scaling when my app blows up?

A

Firebase scales automatically (and bills you automatically).

Supabase needs manual scaling planning but PostgreSQL is solid. Appwrite gives you scaling controls. PocketBase doesn't scale horizontally

  • you're stuck on one server with SQLite limits.
Q

Am I trapped once I choose one?

A

Firebase is a roach motel

  • easy to get in, hell to get out. Supabase is just PostgreSQL so you can always leave. PocketBase is SQLite and Go
  • ultimate freedom. Appwrite is open source but has some proprietary cloud features.
Q

Which one is best for AI stuff?

A

Firebase integrates with Google's AI services like ML Kit out of the box. Supabase has pgvector which is great for embeddings and vector search. PocketBase and Appwrite? You're integrating external APIs yourself.

Q

How's the authentication story?

A

Firebase auth just works

  • social logins, MFA, password resets, all handled. Supabase auth is solid but you'll debug magic link deliverability. Appwrite auth is decent with good OAuth support. PocketBase auth is basic but functional.
Q

What about offline support?

A

Firebase offline sync is magic

  • it handles everything automatically. Supabase, Appwrite, and PocketBase? You're writing your own caching and sync logic. Good luck with that.
Q

Which has the best serverless functions?

A

Firebase Cloud Functions integrate perfectly with the ecosystem. Supabase Edge Functions are faster (Deno) but newer. Appwrite functions are okay. PocketBase doesn't do functions

  • you'll need external services.
Q

How's backup and disaster recovery?

A

Firebase handles it automatically through Google Cloud. Supabase offers daily backups ($100/month for point-in-time recovery). Appwrite has basic backup plans. PocketBase? You're copying SQLite files yourself.

Q

What about monitoring and analytics?

A

Firebase has comprehensive monitoring built-in. Supabase has basic metrics. Appwrite offers monitoring on paid plans. PocketBase needs external monitoring

  • but the admin UI is surprisingly good.

Related Tools & Recommendations

pricing
Recommended

Backend Pricing Reality Check: Supabase vs Firebase vs AWS Amplify

Got burned by a Firebase bill that went from like $40 to $800+ after Reddit hug of death. Firebase real-time listeners leak memory if you don't unsubscribe prop

Supabase
/pricing/supabase-firebase-amplify-cost-comparison/comprehensive-pricing-breakdown
100%
compare
Recommended

Framework Wars Survivor Guide: Next.js, Nuxt, SvelteKit, Remix vs Gatsby

18 months in Gatsby hell, 6 months testing everything else - here's what actually works for enterprise teams

Next.js
/compare/nextjs/nuxt/sveltekit/remix/gatsby/enterprise-team-scaling
75%
integration
Recommended

I Spent a Weekend Integrating Clerk + Supabase + Next.js (So You Don't Have To)

Because building auth from scratch is a fucking nightmare, and the docs for this integration are scattered across three different sites

Supabase
/integration/supabase-clerk-nextjs/authentication-patterns
62%
tool
Recommended

Stripe Terminal React Native SDK - Turn Your App Into a Payment Terminal That Doesn't Suck

integrates with Stripe Terminal React Native SDK

Stripe Terminal React Native SDK
/tool/stripe-terminal-react-native-sdk/overview
60%
pricing
Recommended

Vercel vs Netlify vs Cloudflare Workers Pricing: Why Your Bill Might Surprise You

Real costs from someone who's been burned by hosting bills before

Vercel
/pricing/vercel-vs-netlify-vs-cloudflare-workers/total-cost-analysis
58%
alternatives
Recommended

Firebase Alternatives That Don't Suck - Real Options for 2025

Your Firebase bills are killing your budget. Here are the alternatives that actually work.

Firebase
/alternatives/firebase/best-firebase-alternatives
54%
tool
Recommended

Supabase - PostgreSQL with Bells and Whistles

alternative to Supabase

Supabase
/tool/supabase/overview
52%
tool
Recommended

Appwrite - Open-Source Backend for Developers Who Hate Reinventing Auth

competes with Appwrite

Appwrite
/tool/appwrite/overview
49%
integration
Recommended

Stop Stripe from Destroying Your Serverless Performance

Cold starts are killing your payments, webhooks are timing out randomly, and your users think your checkout is broken. Here's how to fix the mess.

Stripe
/integration/stripe-nextjs-app-router/serverless-performance-optimization
48%
review
Recommended

Which JavaScript Runtime Won't Make You Hate Your Life

Two years of runtime fuckery later, here's the truth nobody tells you

Bun
/review/bun-nodejs-deno-comparison/production-readiness-assessment
48%
tool
Recommended

PocketBase - SQLite Backend That Actually Works

Single-File Backend for Prototypes and Small Apps

PocketBase
/tool/pocketbase/overview
47%
pricing
Recommended

What Enterprise Platform Pricing Actually Looks Like When the Sales Gloves Come Off

Vercel, Netlify, and Cloudflare Pages: The Real Costs Behind the Marketing Bullshit

Vercel
/pricing/vercel-netlify-cloudflare-enterprise-comparison/enterprise-cost-analysis
45%
compare
Recommended

I Tested Every Heroku Alternative So You Don't Have To

Vercel, Railway, Render, and Fly.io - Which one won't bankrupt you?

Vercel
/compare/vercel/railway/render/fly/deployment-platforms-comparison
42%
compare
Recommended

Python vs JavaScript vs Go vs Rust - Production Reality Check

What Actually Happens When You Ship Code With These Languages

javascript
/compare/python-javascript-go-rust/production-reality-check
41%
howto
Recommended

Install Node.js with NVM on Mac M1/M2/M3 - Because Life's Too Short for Version Hell

My M1 Mac setup broke at 2am before a deployment. Here's how I fixed it so you don't have to suffer.

Node Version Manager (NVM)
/howto/install-nodejs-nvm-mac-m1/complete-installation-guide
37%
integration
Recommended

Claude API Code Execution Integration - Advanced Tools Guide

Build production-ready applications with Claude's code execution and file processing tools

Claude API
/integration/claude-api-nodejs-express/advanced-tools-integration
37%
compare
Recommended

Flutter vs React Native vs Kotlin Multiplatform: Which One Won't Destroy Your Sanity?

The Real Question: Which Framework Actually Ships Apps Without Breaking?

Flutter
/compare/flutter-react-native-kotlin-multiplatform/cross-platform-framework-comparison
35%
tool
Recommended

Fix Flutter Performance Issues That Actually Matter in Production

Stop guessing why your app is slow. Debug frame drops, memory leaks, and rebuild hell with tools that work.

Flutter
/tool/flutter/performance-optimization
35%
integration
Recommended

How to Build Flutter Apps with Firebase Without Losing Your Sanity

Real-world production deployment that actually works (and won't bankrupt you)

Firebase
/integration/firebase-flutter/production-deployment-architecture
35%
tool
Recommended

React Error Boundaries Are Lying to You in Production

integrates with React Error Boundary

React Error Boundary
/tool/react-error-boundary/error-handling-patterns
34%

Recommendations combine user behavior, content similarity, research intelligence, and SEO optimization