Cost scenarios: Vercel and Heroku migrations

Eight realistic stacks, what each one costs today, and what the same workload costs after migrating. Numbers use published 2026 pricing (Vercel Pro $20/seat, Fast Data Transfer $0.15/GB, edge requests $2/M; Heroku Standard-1X $25, Standard-2X $50, Performance-M $250, Postgres Standard-0 $50) and our own reference deployments.

Two of these eight are not worth migrating on cost alone. They are here because the honest answer matters more than the pitch.

Payback is computed against infralift's fixed migration fee (from $3,000).


Scenario 1: Solo dev, side project on Vercel

Profile: One person, Next.js app, ~5k monthly visitors, hobby-turned-paid.

Item Current (Vercel) Target (Cloudflare Workers + Neon)
Hosting Pro $20/mo Workers Paid $5/mo
Database Vercel Postgres/Neon ~$19/mo Neon Launch $19/mo (or free tier $0)
Bandwidth Included R2 egress $0
Total ~$39/mo ~$5–24/mo

Savings: $15–34/mo ($180–408/yr, up to 87%).

Verdict: Don't hire us for this. The savings are real in percentage terms and irrelevant in dollars — a fixed migration fee would take years to pay back. This is where platform pricing still feels fine. The pain starts at the next tier.


Scenario 2: 5-person funded startup on Vercel

Profile: Seed-stage SaaS, 5 engineers, Next.js + API routes, ~50k MAU, ~500GB/mo data transfer, preview deploys for every PR.

Item Current (Vercel) Target (CF Workers + R2 + Neon)
Pro seats 5 × $20 = $100/mo Workers Paid $5/mo (no per-seat)
Fast Data Transfer overage ~$45/mo R2 egress $0
Edge requests + functions ~$35/mo ~$10/mo requests
Vercel Postgres ~$17/mo Neon Launch $19/mo
Total ~$197/mo ~$34/mo

Savings: $163/mo ($1,960/yr, 83%).

Payback on $3,000 fee: ~18 months. Borderline alone — but seat count grows with headcount, so the gap widens every hire. At 8 engineers the Vercel bill is ~$260/mo and payback drops under 14 months.


Scenario 3: Scaling SaaS on Vercel (the sweat zone)

Profile: Series A, 10 engineers, ~200k MAU, 2TB/mo transfer, image-heavy product, ISR + edge middleware.

Item Current (Vercel) Target (CF Workers + R2 + Neon)
Pro seats 10 × $20 = $200/mo Workers Paid $5/mo
Fast Data Transfer (1TB over) ~$150/mo R2 egress $0
Edge requests (30M) ~$56/mo ~$15/mo
Functions + ISR + image opt ~$180/mo ~$25/mo (Workers CPU + Images)
Managed Postgres ~$69/mo Neon Scale $69/mo
Observability add-on ~$100/mo Included / Grafana Cloud free
Total ~$755/mo ~$114/mo

Savings: $641/mo ($7,690/yr, 85%).

Payback on $3,000 fee: under 5 months.

This is the shape most of our customers arrive in: the bill crossed $500/mo, finance started asking about it, and the team already knows egress pricing is the culprit — but nobody has two free weeks to move it.


Scenario 4: High-traffic content/commerce site on Vercel

Profile: 1.5M monthly visitors, 10TB/mo transfer, marketing site + storefront, 6 engineers.

Item Current (Vercel) Target (CF Workers + R2 + Neon)
Pro seats 6 × $20 = $120/mo Workers Paid $5/mo
Fast Data Transfer (9TB over) ~$1,350/mo R2 + CF CDN egress $0
Edge requests (100M) ~$190/mo ~$50/mo
Functions/compute ~$300/mo ~$40/mo
Image optimization ~$50/mo CF Images ~$15/mo
Database ~$69/mo Neon Scale $69/mo
Enterprise pressure Sales calls begin n/a
Total ~$3,080/mo ~$180/mo

Savings: $2,900/mo ($34,800/yr, 94%).

Payback on $3,000 fee: ~5 weeks.

At this traffic level Vercel pushes Enterprise (custom pricing, typically $20k+/yr minimum). Egress is the whole story: Cloudflare charges $0 for what Vercel bills $0.15/GB.


Scenario 5: Bootstrapped API business on Heroku

Profile: 2 founders, REST API doing 10M requests/mo, worker dyno for background jobs, Postgres.

Item Current (Heroku) Target (Hetzner + Docker + Neon)
Web dyno Standard-2X $50/mo Hetzner CPX21 ~$8/mo
Worker dyno Standard-1X $25/mo Same VPS (Docker Compose) $0
Postgres Standard-0 $50/mo Neon Launch $19/mo
Redis Mini $15/mo Same VPS $0
Logging add-on ~$10/mo Included (Loki/journald)
Total ~$150/mo ~$27/mo

Savings: $123/mo ($1,480/yr, 82%).

Payback on $3,000 fee: ~24 months at this size, which is a hard sell on cost alone. Worth doing if you are close to the next tier — this stack is one growth spurt away from Scenario 6.


Scenario 6: Production SaaS on Heroku (the step function)

Profile: 8-person team, B2B SaaS, traffic outgrew Standard dynos — response times forced the jump to Performance.

Item Current (Heroku) Target (Hetzner + Docker + Neon)
Web dynos 2 × Performance-M $500/mo Hetzner CCX23 dedicated ~$25/mo
Worker dynos 2 × Standard-2X $100/mo Same host / second CPX31 ~$14/mo
Postgres Standard-2 $200/mo Neon Scale $69/mo
Redis Premium-0 $60/mo Managed or self-host ~$10/mo
Add-ons (logs, metrics, scheduler) ~$50/mo ~$0–10/mo
Total ~$910/mo ~$128/mo

Savings: $782/mo ($9,380/yr, 86%).

Payback on $3,000 fee: under 4 months.

Heroku's pricing is a step function: the jump from Standard-2X ($50) to Performance-M ($250) is 5x for roughly 2.5x the compute. Teams hit this wall and pay it because migrating feels riskier than the bill. Taking that risk off your plate for a fixed fee is the whole reason infralift exists.


Scenario 7: Heroku shop moving to Cloudflare (API + static front)

Profile: 4 engineers, Rails/Node API on Heroku + separate static SPA, moderate traffic, wants zero server management (not interested in a VPS).

Item Current (Heroku) Target (CF Workers + Pages + Neon)
Web dyno Standard-2X $50/mo Workers Paid $5/mo
SPA hosting Standard-1X $25/mo CF Pages $0
Postgres Standard-0 $50/mo Neon Launch $19/mo
SSL/domains add-ons ~$5/mo Included
Total ~$130/mo ~$24/mo

Savings: $106/mo ($1,270/yr, 82%).

Payback on $3,000 fee: ~28 months, so cost alone does not justify it. The stronger reason here is platform risk: Heroku is in maintenance mode under Salesforce, while the target stack is actively developed.


Scenario 8: Vercel + Heroku split stack (frontend/backend divorce)

Profile: Common pattern — Next.js frontend on Vercel, API + jobs on Heroku, two bills, two dashboards, 6 engineers.

Item Current Target (unified: CF + Neon)
Vercel Pro seats 6 × $20 = $120/mo Workers Paid $5/mo
Vercel bandwidth/functions ~$80/mo ~$15/mo
Heroku dynos $75/mo Workers (API) $0 extra
Heroku Postgres $50/mo Neon Launch $19/mo
Total ~$325/mo ~$39/mo

Savings: $286/mo ($3,430/yr, 88%).

Payback on $3,000 fee: ~11 months, plus one platform instead of two.


All eight, side by side

Scenario Current After Monthly savings Annual savings Payback ($3k fee)
1. Solo dev (Vercel) $39 $5–24 $15–34 $180–408 n/a
2. 5-person startup (Vercel) $197 $34 $163 $1,960 18 mo
3. Scaling SaaS (Vercel) $755 $114 $641 $7,690 4.7 mo
4. High-traffic (Vercel) $3,080 $180 $2,900 $34,800 5 wk
5. Bootstrapped API (Heroku) $150 $27 $123 $1,480 24 mo
6. Production SaaS (Heroku) $910 $128 $782 $9,380 3.8 mo
7. Heroku to Cloudflare $130 $24 $106 $1,270 28 mo
8. Split stack (both) $325 $39 $286 $3,430 10.5 mo

What the numbers have in common

  • Egress is the villain (Vercel): $0.15/GB vs $0 on Cloudflare. Every image-heavy or content site overpays by construction.
  • Per-seat pricing scales with headcount, not usage (Vercel): hiring an engineer costs $20/mo in hosting before they ship anything.
  • The Performance dyno wall (Heroku): 5x price jump for 2.5x compute; teams pay it because migration feels risky.
  • Maintenance-mode platform (Heroku): paying premium prices for a product Salesforce stopped investing in.
  • Fixed fee vs open-ended DIY: every scenario's alternative is "an engineer spends 2–4 weeks migrating" — at loaded cost that's $10k–30k of payroll plus risk. From-$3,000 fixed undercuts DIY even before savings.