Supabase review: the open-source Firebase, honestly assessed
By Gerald · 10 June 2026
Supabase is often described as open-source Firebase. That description is useful but incomplete. It tells you that Supabase offers auth, database, storage, and realtime features under one roof. It does not tell you that Supabase is fundamentally a PostgreSQL service with modern developer tooling wrapped around it, which makes it a very different product from Firebase or Convex.
I chose Convex for Flow because Flow is a reactive TypeScript app where live screen updates are central to the experience. Supabase would still be a valid foundation. In some ways it would be a stronger one. This review explains what Supabase does well, where it asks more of you, and why it remains a serious choice even if I ended up elsewhere.
Supabase is a strong backend when you want standard Postgres, direct SQL access, and a broad ecosystem. It is less of a shortcut when you want an opinionated application backend that makes decisions for you.
What Supabase actually is
Supabase starts with PostgreSQL. The database is the center of the system. Around it, Supabase adds Auth, Storage, Realtime, Edge Functions, an auto-generated API layer, and a polished web dashboard. The result is a platform that feels familiar to anyone who knows relational databases, but with modern conveniences like instant APIs and client libraries.
You can interact with Supabase through SQL, through the auto-generated REST API, or through the client libraries. That flexibility is central to the product. You are not forced into one access pattern.
What Supabase does well

It is real Postgres
This is the single biggest reason to choose Supabase. You get a genuine PostgreSQL database with SQL, views, functions, triggers, extensions, joins, and standard database clients. If you hire a database engineer, they know what they are looking at. If you need to connect a reporting tool, it speaks the same protocol as any other Postgres instance.
That portability matters. Your data is not locked into a custom query language or a proprietary document model. It is standard SQL in a standard database. You can export it, import it into another Postgres instance, and continue working. That is a form of insurance that proprietary backends cannot match.
Row level security is powerful
Supabase Row Level Security lets you define database policies that control which rows a user can read or modify. When policies are designed well, authorization sits close to the data and applies across direct API access. This is a genuine architectural advantage over backends where security lives only in application code.
For example, you can write a policy that says users may only read tasks where the owner column matches their user ID. That rule lives in the database, not in your React app. Even if someone accesses the API directly, the policy still enforces the constraint.
The ecosystem is enormous
PostgreSQL connects to almost everything. Business intelligence tools, migration frameworks, admin clients, GIS extensions, full-text search options, and years of operational knowledge are available. Supabase benefits from that entire ecosystem because it is Postgres at its core.
If you need to run a complex analytics query, connect a BI tool, or use a specialized extension, Supabase does not block you. It is Postgres, so the answer is usually yes.
Open source and pricing transparency
Supabase is open source. You can inspect the code, self-host the platform, or run it through Docker. The hosted pricing is transparent and based on compute, storage, and usage. As of June 2026, the Pro plan starts at $25 per organization per month, with additional usage billing. The free tier is generous for experimentation, though projects with low activity may be paused after seven days.
The pricing model is clearer than many competitors because it maps to familiar infrastructure concepts: compute, storage, and egress. You are not buying abstract credits or function-call quotas.
Where Supabase asks more of you
Setup complexity is real
Getting started with Supabase is easy. A new project takes minutes. But building a complete application requires more decisions than Convex asks you to make. You choose how to structure your SQL schema, how to handle migrations, how to set up RLS policies, how to configure realtime channels, and how to organize Edge Functions.
None of this is bad. It is the cost of flexibility. But a small team that wants to move fast may find themselves managing infrastructure rather than building product. Supabase gives you the pieces. You assemble them.
Realtime requires explicit wiring
Supabase has strong realtime support through Broadcast and Postgres Changes. The difference from Convex is that you make the decisions. You choose which channels to subscribe to, which events to listen for, and how to update your client state. Supabase gives you the tools. You build the behavior.
For some teams, that control is exactly what they want. For others, it is another layer to debug. If your product depends on live updates, plan to spend real time understanding the realtime architecture rather than assuming it works automatically.
Edge Functions have limits
Supabase Edge Functions run on Deno and are useful for small serverless tasks. They are not a replacement for a full application backend. Complex logic, long-running processes, or heavy computation may push you toward a separate service or a different architecture.
They work well for webhooks, small transformations, and API proxies. They work less well when you need transactional database logic, scheduled jobs, or complex business rules. Know the boundary before you design around them.
The dashboard and SQL editor
Supabase provides a polished web dashboard that covers almost every part of the platform. The SQL editor is genuinely useful: you can write and save queries, run them against your database, and inspect results in a table view. For someone who thinks in SQL, this is a daily tool rather than a novelty.
The table view lets non-technical team members browse data without writing queries. The auth section shows users, sessions, and provider configurations. Storage shows buckets and file metadata. Each section is well-designed, but the total surface area is large. New users often feel like they are learning a small operating system rather than a single product.
That richness is the point. Supabase wants to be the center of your backend. The cost is that it takes time to learn where everything lives.
The honest limitations
Supabase is less opinionated than Convex. That is a strength and a weakness. You get more control, but you also make more decisions. There is no single right way to structure a Supabase app, which means teams must establish their own conventions.
The free tier project pause is worth noting. If you build a personal app and leave it untouched for a week, Supabase may pause the project to save resources. Resuming is automatic on the next request, but the first load after a pause includes a cold start. Convex does not document the same behavior, which makes it a better fit for occasional-use personal tools.
The dashboard is polished but can feel overwhelming. Between the SQL editor, table views, auth settings, storage buckets, edge functions, and realtime configuration, there is a lot to learn. Supabase is not a simple product, even though the first five minutes feel simple.
Who should choose Supabase
- Teams that want standard Postgres and direct SQL access
- Products with complex relational data or reporting needs
- Builders who value row level security and database-enforced policies
- Teams that need Postgres extensions or existing database tooling
- Anyone who prioritizes data portability and ecosystem breadth
Who should look elsewhere
- Solo builders who want the fastest path to a reactive TypeScript app
- Teams that prefer an opinionated backend with fewer decisions
- Products where realtime behavior should work without explicit channel wiring
- Anyone who needs a backend that never pauses on a free tier
Frequently asked questions
Is Supabase free? Supabase offers a generous free tier for development and small projects. The Pro plan starts at $25 per organization per month as of June 2026. Free projects with low activity may be paused after seven days.
Is Supabase production-ready? Yes. Supabase hosts production applications with real traffic. It offers standard Postgres reliability, authentication, storage, and realtime features. Many companies run production workloads on it.
What are Supabase's limitations? Supabase requires more setup decisions than opinionated alternatives. Realtime behavior needs explicit client wiring. Free tier projects may pause after inactivity. Edge Functions are suited to small tasks rather than heavy backend logic.
Can I self-host Supabase? Yes. Supabase provides Docker-based self-hosting instructions. Your core data remains Postgres, which makes migration and portability easier than with proprietary backends.
Related reading
- Convex vs Supabase: which backend is better for you?
- Supabase alternatives for developers who want options
- How self-hosted note-taking works without running a server
- Why I built Flow
Supabase is the right backend when Postgres matters more than convenience. That is a valid priority, and it is why Supabase will outlast many of the platforms compared to it.
If you need a standard database with modern APIs and you are willing to make the architecture decisions yourself, Supabase is one of the best options available. Start with the free tier, build a real schema, and see whether the flexibility feels like freedom or overhead.