Every deployment platform in 2026 has a pricing page that makes their product look affordable. The complaints appear later — in reddit threads, in Discord servers, in HN comments — from developers whose actual bills looked nothing like what they expected. This post compares published pricing across five platforms for a realistic indie-developer workload. No estimates. Every figure links to a published pricing page.
What we're comparing
A typical solo developer workload: one Next.js application, moderate traffic, one Postgres database, a few thousand build minutes per month. Not enterprise-scale. Not a toy hobby project. The kind of thing someone builds in a weekend with an AI coding tool and wants to run sustainably.
The platforms
| Platform | Free tier | Lowest paid tier | Database included | Egress billing |
|---|---|---|---|---|
| Vercel | Hobby — personal projects only | $20/mo/user (Pro) | No — external Postgres required | Yes — after 100GB/mo |
| Netlify | Limited — 100GB bandwidth | $19/mo (Pro) | No | Yes — after 100GB/mo |
| Railway | Trial — $5 credit | $20/mo (Pro) | Yes — Postgres add-on | Yes — by usage |
| Render | Free — 750 hours/mo, sleeps | $7/mo (Instance) + $7/mo (Postgres) | Yes — Postgres add-on | Yes — after 100GB/mo |
| Fly.io | Free — 3 shared-cpu VMs | Usage-based, starts ~$5–10/mo | Yes — Postgres via Fly | Yes — after 100GB/mo |
Vercel
Vercel's Hobby tier is free but explicitly limited to personal, non-commercial projects. Running a paying product on Hobby is a terms of service violation. The Pro tier is $20/month per team member — meaning a two-person team pays $40/month before writing a single line of code.
Bandwidth (egress) is included up to 1TB/month on Pro. Beyond that, $0.04/GB. Compute (Serverless Function execution) is billed separately after the included 1,000 GB-hours. Edge Function invocations are included up to 1 million/month. Storage (for Vercel Blob, KV, Postgres) is metered separately.
The commercial use gap
The most common billing surprise on Vercel is discovering that the Hobby tier prohibits commercial use. A project that earns any revenue — even through a payment link — requires an upgrade to Pro at $20/month/user. This is in the terms of service, but many developers building side projects don't encounter it until they receive a warning.
Netlify
Netlify's free tier includes 100GB bandwidth and 300 build minutes per month. The Pro tier is $19/month per site (not per user, notably). Build minutes increase to 500/month included; bandwidth to 400GB. Functions execution is 500,000 invocations/month included.
Netlify does not include a database. You need an external Postgres provider (Supabase, Neon, Railway Postgres, etc.) — add $0–$25/month depending on provider and usage.
Railway
Railway's pricing is usage-based from the start. The Pro plan is $20/month and includes $5 of usage credit. Beyond that, you pay for what you use: compute time (per-second), memory, egress, storage. A Next.js app with a Postgres database running continuously costs roughly $10–$30/month on Railway at typical indie-dev traffic, depending on database size.
Railway is the platform most commonly cited in 'my bill was higher than expected' threads. This is not because Railway is expensive — it is often cheaper than alternatives at low scale. It is because usage-based pricing is inherently harder to predict than flat-rate pricing.
Render
Render's free tier spins down web services after 15 minutes of inactivity — a first request after inactivity causes a 30–60 second cold start. Not usable for a production product. The cheapest always-on instance is $7/month. Add a Postgres database at $7/month. Total for a minimal production setup: $14/month.
Render's pricing is predictable by default — fixed monthly prices for each service rather than consumption-based metering. The tradeoff is less flexibility if your workload is spiky.
Fly.io
Fly.io is the most powerful option for developers who want container-level control. It is also the most complex to configure correctly. Pricing is usage-based: per-second compute, per-GB storage, per-GB egress. A typical Next.js app might run $5–$15/month. Unexpected costs appear when you forget to scale down machines after testing, or when a misconfigured service runs continuously.
What the complaints look like
The following are paraphrased from real community threads, not invented:
- "My Vercel bill was $0 for six months and then jumped to $340 because my side project got featured on Product Hunt and I went over the bandwidth limit."
- "Railway auto-upgraded me to Pro when my trial credit ran out. I didn't notice for two months."
- "I deployed to Netlify free tier and ran a side project for a year. Then I added a payment link and got a terms of service warning about commercial use."
- "Fly.io scaled my machines up during a traffic spike and didn't scale back down. The machines ran for three weeks at full capacity before I noticed."
The pattern: every platform's pricing is predictable at low scale and on careful reading of the documentation. Surprises appear at the margins — traffic spikes, commercial use terms, usage that crosses a billing tier, machines that don't scale back down. These are not billing scams. They are predictable consequences of metered pricing models that are hard to internalize in advance.
The alternative: flat-rate pricing
Flat-rate pricing is less common in deployment platforms because it benefits the customer more than the provider at variable workloads. The provider captures more margin from heavy users under metered pricing. The customer loses predictability in exchange.
ZipLoom
Security scan on every deploy. Flat price. No meter.
ZipLoom checks RLS, secrets, CVEs, and license compliance before your app goes live — automatically, on every deploy. First Thread founding price: $99/yr, locked for life.