Supabase isn't terrible, but it's got problems that'll bite you in production. I learned this during a product demo that crashed spectacularly when our real-time connections started dropping around 240-250 concurrent users.
The Real Problems Nobody Talks About
Connection limits are fucking brutal. That 200 connection limit on the free tier? Yeah, turns out it counts every goddamn API call, real-time subscription, and background job. We hit it during what should've been a minor traffic spike and started getting FATAL: remaining connection slots are reserved
errors. The Pro tier bumps you to 500 connections for $25/month, but their pgBouncer setup is a nightmare to configure properly.
Edge Functions cold starts will ruin your day. Despite claims of "sub-100ms" improvements, I'm still seeing 300-500ms cold starts on Edge Functions that haven't run in 10 minutes. This killed our payment webhook processing because Stripe expects responses under 200ms.
Storage costs get insane fast. That innocent 1GB file storage on the free tier? We burned through it in 2 weeks with user avatars. The overage charges hit almost $50 before I noticed. Storage pricing scales at $0.021/GB/month, which sounds reasonable until you're at 50GB wondering why your bill doubled.
Real-time doesn't scale like they claim. Our chat feature worked perfectly with 20 users. At 200 concurrent users, messages started arriving 2-3 seconds late. The broadcast feature that's supposed to handle thousands of connections? It choked hard and started dropping WebSocket connections randomly.
Why I Started Looking Elsewhere
The breaking point was during our Series A pitch. Right in the middle of our demo, the real-time updates just died. Error logs showed WebSocket connection to 'wss://realtime.supabase.co' failed
. Our investor asked if our "infrastructure was production-ready." I wanted to crawl under the table.
Then their recent pricing changes moved row-level security from free to Pro tier. Not the end of the world, but it bumped our monthly cost from something like $25 to around $75 across multiple projects. When you're bootstrapping, that extra few hundred a year hurts.
The Search for Something That Doesn't Suck
I spent 3 weeks testing PocketBase, Nhost, Firebase, AWS Amplify, Appwrite, Convex, and a few others. Most have their own bullshit, but some actually work better for specific use cases.
PocketBase runs everything in a single 15MB binary. Sounds too good to be true, and mostly it is, but for smaller apps it's surprisingly solid.
Nhost gives you Hasura GraphQL out of the box, which is either awesome or overwhelming depending on your team.
Firebase is still Google's overpriced nightmare, but the real-time database actually works at scale.
AWS Amplify will make you question your career choices, but if you're already in the AWS ecosystem, it's not terrible.
The truth? There's no perfect backend service. But depending on what broke in Supabase for you, there's probably something that sucks less for your specific use case. Here's what I learned the hard way.
Want specifics? Check real user experiences on Reddit where developers share actual migration stories and costs.