Neon
Serverless Postgres with branching, auto-scaling, and generous free tier.
My Experience
Neon is what Postgres looks like in the serverless era. The auto-scaling is seamless — your database spins down when idle and scales up instantly when traffic comes in. For a side project, this means you're not paying for idle database time.
Database branching is the killer feature. You can create a copy of your production database for testing or development, complete with its own connection string. It's like git branches for your data.
The cold start can be a bit annoying — first query after idle takes 1-3 seconds. If you need sub-second responses at all times, enable always-on compute (costs a few dollars/month).
**Neon vs Supabase — Billing Philosophy**: The core difference is in how they charge. Neon is true serverless — you pay for "active compute time" in 5-minute minimum increments. Any activity (a health check, a connection probe) wakes the database and triggers a 5-minute billing cycle. This can lead to "phantom bills" where you're paying for compute time you didn't intentionally use. Supabase's free tier, by contrast, gives you a Docker-based instance that runs 24/7 — no cold starts, no per-activity billing. It only pauses after 7 full days of zero traffic. For low-traffic apps with occasional requests, Supabase is generally more predictable and less stressful on the free tier.
Pros
- +Serverless Postgres — scales to zero when not in use
- +Database branching for development (like git for databases)
- +0.5 GB free storage, always-on compute included
Cons
- −Cold start latency on scale-from-zero
- −5-minute minimum billing per activity — small requests can rack up unexpected costs
- −Not ideal for high-concurrency write-heavy workloads
- −Fewer extensions available than traditional Postgres
Best For
Developers who want Postgres without managing connections or scaling.