I have shipped seven side projects in two years. Six use Supabase. The seventh would have used Supabase if I had not been specifically experimenting with Neon's branching.
Why Postgres specifically
Every project hits a query that benefits from a window function or a CTE. Every project at some point needs full-text search. Every project ends up wanting transactions. Postgres has these natively. Firestore makes you fight.
Vector search via pgvector replaced Pinecone for me last year. Same database, same SQL, same backups, no second vendor.
Why Supabase specifically
| Spec | Supabase | Firebase | Self (Postgres) |
|---|---|---|---|
| Database type | Postgres | Firestore | Postgres |
| Auth bundled | Yes | Yes | No |
| Realtime | Yes | Yes | No (DIY) |
| Storage | Yes (S3 wrapper) | Yes | No (DIY) |
| Edge functions | Yes (Deno) | Yes (Cloud Run) | No |
| pgvector | Yes | No | Yes (install) |
| Self-host | Yes (full) | No | Yes |
| Pricing model | Per resource | Per read/write | Per box |
Auth is the killer feature. Three lines of TypeScript and you have email + magic link + OAuth working. Building this myself takes a week and a half if I am being honest about it.
Realtime is the second killer. Server-sent updates from Postgres without me running a separate WebSocket service.
The pricing is per-resource not per-operation. £25/mo for 8GB DB and 100GB egress[1]. I know what next month will cost.
Latency
Source: My bench, simple SELECT, 30d avg
Supabase is not the fastest. Neon is consistently 4-6ms ahead on free tier. AWS RDS in the same region is 9ms (and 10x the price). For my projects, 18ms is not a bottleneck; the network round-trip from a London user is ~50ms before you account for compute.
What I do not love
The dashboard is sometimes slow.
The pg_cron UI is poor.
Free-tier projects sleep after 7 days of inactivity. The first request takes 2-4 seconds to wake up. Pro tier solves it.
The branching/preview database flow is less polished than Neon.
Where I would not pick it
Apps with heavy MySQL legacy → Planetscale.
Apps that need the absolute best Postgres dev-loop → Neon.
Edge-replicated KV → Cloudflare KV.
For literally everything else: Supabase, with no reservations.
About the data
A note on what the numbers in this post represent so you can read them with the right confidence:
- "My own bench" rows are personal measurements on my own hardware. They are honest about my setup and reproducible there, but they should not be treated as universal benchmark scores.
- Benchmark numbers attributed to public sources (Geekbench Browser, DXOMARK, NotebookCheck, FIA timing) are illustrative, the trend is what matters, not the third decimal place. Cross-check against the source for anything you would act on financially.
- Client outcomes and ROI percentages in business-focused posts are anonymised composites drawn from my own consulting work. Real numbers, real direction, sanitised so individual clients are not identifiable.
- Foldable crease-depth and similar engineering measurements are estimates pulled from teardown reports and reviewer claims; manufacturers do not publish these directly.
- Forecasts and "what I bet" lines are exactly that, opinions, not predictions with a track record yet.
If you spot a number that contradicts a source you trust, tell me, I would rather correct it than be the chart that was off by 6 percent and pretended otherwise.