Supabase: The "Please Don't Bankrupt Me" Option
Supabase is the only one that won't surprise you with a bill that makes you question your life choices. Free tier gives you 500MB database, 50k monthly active users, and 5GB egress. Projects pause after a week of inactivity (annoying but understandable). Their real-time benchmarks show they can handle up to 10,000 concurrent clients.
Real talk on Supabase costs:
- Free tier: Actually usable for real apps, unlike others that tease you
- Pro at $25/month: Gets you 8GB database, 100k MAU, 250GB egress, plus $10 compute credits
- Additional MAU: $0.00325 each after 100k (this actually matters)
- Database storage: $0.125/GB after the included 8GB
- Spend caps: They actually work - service pauses instead of charging you into bankruptcy
The kicker: Everything's included. Auth, real-time, storage, APIs. No surprise "oh you wanted authentication to work? That's $50/month extra" bullshit like other platforms pull.
Built a SaaS with around 30k users, Supabase was costing me like $75/month including compute. Same exact app on Firebase? Bill was over $250 the first month because I forgot to add .limit(100)
to a query and it was pulling entire collections. Spent 3 hours at 2am figuring out why the bill exploded. Firebase dashboard just shows "document reads: 2.3M" without telling you which fucking query caused it.
Firebase: Where Bills Go to Die (Your Wallet)
Firebase pricing is fucking brutal - looks cheap until you actually use it. Two plans: free Spark and paid Blaze. The official pricing documentation reveals the brutal truth behind their "simple" model.
Spark plan reality check:
- 50k Firestore reads per day sounds generous until you realize a simple user dashboard burns through that in hours
- 20k writes per day? One social media post with reactions will eat that alive
- 1GB storage? Good for maybe a few thousand user profiles
- Cost optimization patterns become essential from day one
Blaze plan gotchas that hurt:
- Firestore operations pile up fast - every query, every listener, every single document read charges you
- Cloud Functions look free (2M invocations) until you hit the GB-seconds cost
- No base fee means death by a thousand cuts - each service nickels and dimes you
- Best practices help but can't eliminate the fundamental per-operation billing model
- High traffic cost management becomes critical for scaling apps
Client's Firebase bill exploded when their workout app hit Product Hunt - went from like $40 to over $800 in a day. Real-time listeners in the leaderboard component were triggering on every single user update. The fucking onSnapshot()
was listening to the entire /users
collection instead of just the top 10. Spent two weeks debugging this while the bill kept climbing. Firebase console showed millions of document reads but didn't tell us which query was the culprit.
After the left-pad incident, you'd think I'd learn to be more careful with third-party dependencies.
AWS Amplify: "Surprise, You're Broke!"
AWS Amplify pricing is what happens when enterprise architects design pricing for indie developers. Every service has its own billing model, and they all add up faster than you can say "serverless." The official Lambda pricing alone has multiple dimensions that most developers underestimate.
Current Amplify reality (last time I checked):
- Frontend hosting: Free tier includes 100 GB-hours/month, then $0.20/hour
- Build minutes: First 1,000 free, then $0.01 per minute
- Data transfer: 15GB free, then $0.15/GB (this one kills you)
- Lambda cold starts now cost money for init time - not sure when that started but it's fucking annoying
The AWS ecosystem tax:
- DynamoDB pricing: Looks cheap until you need consistent reads and global tables
- Lambda: $0.20 per million requests, but memory pricing and cold starts add up quickly
- Cognito: $0.0055 per monthly active user after 50k
- S3: Storage is cheap, data transfer isn't
- Lambda cost optimization strategies become mandatory for production apps
One client's "simple" employee directory was costing him over $300/month on AWS because he deployed Lambda in us-east-1 and RDS in us-west-2. Data transfer charges murdered him - $0.02/GB adds up fast when your Lambda makes thousands of DB calls per execution. Most of the bill was data transfer costs, not the actual services.
AWS has 267 different services and each one has its own billing dimension that you'll discover when your boss asks why the "free" app costs $300/month. The great Log4j panic of 2021 taught us nothing about dependency complexity.
The Brutal Truth About Free Tiers
Supabase: Free tier works for side projects and early development. You can actually launch on it. Projects pause after a week of inactivity, but that's fair for free hosting.
Firebase: Free tier is a trap designed to get you hooked. You'll outgrow it in days with real usage. The quotas look generous until you build something people actually use.
AWS: Free tier expires after 12 months, then you hit the pricing cliff. It's like a gym membership - great deal for the trial, then reality hits your credit card.
What Nobody Tells You About Scaling Costs
Supabase at scale: Scaling costs are pretty predictable. One client went from like $75 to maybe $200 over 6 months when their users exploded. No surprises.
Firebase at scale: Costs become unpredictable. Operations-heavy apps get murdered by Firestore pricing.
AWS at scale: If you know what you're doing, it's cheapest. If you don't, it's most expensive. There's no middle ground.