DEV Community

Alex Chen
Alex Chen

Posted on

I Ran My SaaS Database on Neon's Free Tier for 90 Days — Total Cost $0, But Two Limits Almost Killed Me

Ninety days ago I pointed a real SaaS — a booking tool with ~1,800 users and ~60k queries/day — at Neon's free tier and deleted my $25/month VPS Postgres. My card has been charged $0.00 since. But two free-tier limits came within a hair of taking the site down, and nobody's landing page mentions either.

The workload, by the numbers

Metric Value
Database size (day 90) 412 MB (limit: 512 MB — I'm at 80%)
Queries/day ~60k
Compute hours used/month ~178 (limit: 191.9 — I'm at 93%)
p50 query latency 9 ms
Cold start after idle 340-480 ms
Downtime incidents 1 (self-inflicted, see below)

Limit #1: compute hours are a monthly budget, not a throttle

Neon's free tier gives you 191.9 compute-hours/month on a 0.25 CU baseline. An always-on branch at minimum size burns ~180 hours/month just existing. My first month, a runaway analytics query loop kept the branch active through idle periods and I hit 187 hours on day 26 — the branch auto-suspended and stopped accepting connections. The fix was a cron job that forces suspend at 85% budget, which is a sentence I can't believe I'm typing about a "serverless" database.

Limit #2: 512 MB is smaller than you think

Postgres bloat is real. My events table's indexes alone are 96 MB. VACUUM discipline went from "nice to have" to "weekly cron" — pg_stat_user_tables showed 31% dead tuples before I got serious about it.

Cold starts are fine — mostly

The 340-480ms wake-up is invisible for a booking flow (users tolerate one slow first click). It would be disqualifying for a real-time API. I sketched the latency harness with MonkeyCode's free tier: https://ly.cyberserval.tech/iIETXiF

The controversial part

Everyone says "free tiers are for prototypes." After 90 days I disagree — with caveats. Neon free tier is production-capable if your app is bursty, under 400 MB, and you automate the compute-hour budget. It's a trap if you're always-on with a chatty ORM, because the budget math collapses the moment your branch never sleeps.

Which free-tier limit has actually bitten you in production — storage, compute hours, or cold starts?

Top comments (0)