Look, Firebase is fine until you need to do anything beyond basic CRUD. Try joining data or running complex queries and you'll hate life. Supabase showed up in 2020 because developers were tired of Firebase's NoSQL limitations but still wanted the convenience of not managing servers.
It's basically PostgreSQL with a REST API auto-generated from your schema, plus real-time features and auth that doesn't suck. If your team knows SQL (and they should), you'll feel at home. If they don't, stick with Firebase because Supabase won't hold your hand through database design.
It's Just PostgreSQL (But That's Good)
Every Supabase project is a real PostgreSQL database. Not some gimped version - you get full superuser access and can SSH in if needed. This means:
- ACID transactions actually work (unlike Firebase's eventual consistency bullshit)
- Complex joins across tables without jumping through hoops
- JSON columns for when you need NoSQL-style data but still want real queries
- Full-text search that's actually fast and relevant
- Vector search with pgvector for AI stuff that actually works
- Row Level Security so you can sleep at night knowing users can't see each other's data
Real-Time That Actually Works (Most of the Time)
The real-time features use PostgreSQL's logical replication to stream changes over WebSockets. It's pretty solid but can get flaky under heavy load.
The good: Subscribe to table changes and get notified when rows are inserted, updated, or deleted. No polling bullshit. Presence tracking for "who's online" features works well.
The bad: Connection drops happen, especially on mobile. The broadcast messaging for chat apps is decent but you'll want a fallback. Don't expect it to scale to thousands of concurrent connections on the free tier - you'll hit limits fast.
Auth That Doesn't Make You Want to Scream
Supabase auth is solid. Email/password, social logins, phone auth, MFA - it all works. The JWT tokens play nice with session management.
The killer feature is Row Level Security. You write SQL policies that PostgreSQL enforces at the database level. No matter how your data gets accessed - API, direct SQL, whatever - the security rules apply.
The gotcha: RLS error messages are cryptic as hell. You'll spend hours debugging insufficient_privilege
errors when you missed one policy. But once you get it working, it's bulletproof. Way better than application-level security that can be bypassed.
The Reality Check (August 2025)
Big names like 1Password and Mozilla use Supabase, which is reassuring. But let's talk about what you'll actually experience:
Free tier: 2 projects, 500MB database, 1GB file storage. Sounds generous until your storage fills up in week 2 of your MVP. Then it's $25/month for Pro which gives you 8GB database + 100GB file storage. Pro also bumps the max upload size from 50MB to 500GB (yes, half a terabyte), though you'll hit bandwidth costs before you actually need files that big. I learned this the hard way when our demo app hit the storage limit during a client presentation.
Connection limits: Free tier now gives you 200 concurrent connections (up from 60 in 2024), while Pro gets 500. Still sounds like a lot until your Next.js app with poor connection pooling eats through them. You'll learn about pgbouncer the hard way. When we launched on Product Hunt, our site went down in 20 minutes because every API route was opening a new connection.
Real-time scaling: Works great until 100-200 concurrent users, then you need Pro. Don't expect miracles on shared infrastructure. We had a collaborative doc editor that worked beautifully in testing with 10 users, then turned into a laggy mess when 150 people joined during launch.
Launch Week 15 in July 2025 brought significant improvements: unified logging across all services (no more jumping between tabs to debug), OpenTelemetry support for custom monitoring tools, advanced observability metrics previously only available in Grafana, organization-wide MFA enforcement, 97% faster Edge Function cold starts (sub-100ms), and cheaper cached egress at $0.03/GB (down from $0.09/GB). The AI debugging assistant can now analyze your logs and suggest fixes. These are the kinds of practical improvements that actually help in production.