deploy · tutorial · vps
DHH Exited the Cloud and Saved Millions. Copy Him.
37signals left AWS, bought servers, saved millions. The solo-founder version: same exit logic at $5 scale. The playbook inside.

The cloud bill nobody voted for
In 2022 DHH looked at 37signals' AWS bill — millions yearly for Basecamp and HEY, growing with success — and asked the forbidden question: what if we just... bought computers? By 2023 they'd done it: exited public cloud, bought Dell servers, colocated them, and started reporting the savings publicly (millions over five years, by their accounting).
Those posts read like a permission slip. The scale in question was $1,800 months, not $3M years — but the shape matched exactly: meters growing with success, bills arriving after the damage.
DHH exit cloud energy isn't about hating AWS. It's about refusing to rent what you can own — at every scale, including $5.
Rented vs owned at two scales
| Axis | 37signals scale | Solo scale |
|---|---|---|
| Cloud bill | ~$3M+/yr AWS (their numbers) | $200–1,800/mo meters |
| Exit hardware | Bought servers + colo | $5/mo VPS (rented box, flat) |
| Reported savings | Millions over 5 years | Thousands yearly, same math |
| Ops burden after | Small ops team | ~1 hr/month (updates, snapshots) |
| Lock-in escaped | S3/EKS gravity | Vercel meters + DB vendors |
Three things DHH proved that apply at $5:
- Growth shouldn't raise unit costs. Cloud bills scale with success — every new user costs compute-cents forever. Owned hardware (theirs) and flat boxes (solo) flip the curve: marginal user costs ~$0, so growth dilutes costs instead of multiplying them.
- The exit is a weekend, not a migration. 37signals planned quarters (scale demands it); solo exits take Friday-to-Sunday (this post's playbook). Both share the shape: reproduce, migrate, flip, keep the old running as parachute.
- Owning boring parts beats renting exciting ones. Nobody's product is "hosting" — it's the undifferentiated heavy lifting DHH named years ago. Clouds sell excitement (450 services!) for boring needs (run code, store rows). Flat boxes plus boring software cover the boring needs at boring prices.
Lineage: DHH proved the logic; solo founders copied it small.
Exit cloud like DHH (solo edition)
Same exit shape, solo scale — from the ditch-Vercel guide this repo ships.
Step 1 — Price your exit the DHH way (savings first).
exit math (one evening, honest numbers):
cloud run-rate: $1,800/mo meters → $21,600/yr (+ growth multiplier)
flat replacement: $5/mo box → $60/yr (+ 1 hr/mo)
year-one savings: ~$21,000. payback on the weekend: immediate.
DHH's math was identical in shape, seven figures larger. Same formula.Run your numbers before touching anything — exit conviction comes from arithmetic, not ideology. Include growth (meters compound, flat doesn't) and your hour (price it fairly; it's real). If savings don't clear 10x your time cost, stay rented and optimize in place.
Step 2 — Buy (rent flat) the replacement hardware.
# solo equivalent of Dell racks + colo: one CX22 ($5/mo), provisioned by script
# Node 22 + PM2 + SQLite (WAL) + Cloudflare Tunnel + Tailscale + swapfile
# DHH bought computers; you rent one flat computer. Same ownership logic.Flat VPS is the solo colocation: fixed price, your software, no meters, exit-able anytime. Provision by script (identical boxes, no snowflakes), tunnel for edge, mesh for admin — the Hetzner guide builds it in an afternoon.
Step 3 — Flip like you mean to stay flipped.
# Friday: reproduce stack on box (Vercel still serving, zero risk)
# Saturday: migrate rows + secrets, verify via hosts-file override
# Sunday midnight: DNS flip, old project idles 30 days (parachute, then delete)
# Monday: first flat week begins.Parachute discipline (old infra idles, not dies) is what makes exits brave — reversibility converts leap into experiment.
That's the deal — on hardware (or flat boxes) nobody can meter.
Two exits, one logic
| Check | 37signals exit | Solo exit (this playbook) |
|---|---|---|
| Trigger | $3M+/yr, growing | $200–1,800/mo, growing |
| Replacement | Owned racks + colo | $5 flat VPS |
| Reported savings | Millions / 5 yrs | Thousands / yr |
| Ops after | Small team | ~1 hr/month |
| Reversibility | Kept accounts during | 30-day parachute |
| Verdict | Blogged proudly | Same, smaller font |
The tax, named out loud at both scales: DHH hired ops attention (hardware fails physically — disks die, colo visits happen), solos inherit ~1 monthly hour (patches, snapshots, disk watch). Clouds genuinely absorb that labor — the question is only its price: millions yearly for 37signals, hundreds monthly for solos.
Own boring parts. Rent excitement never.
BoringPush is the outcome of that exit: the playbook above, pre-scripted, for $199 once.
FAQ
Did DHH exit cloud really save millions, or is it marketing?
Their published accounting claims multi-million five-year savings (verify current posts — the numbers evolve with hardware refreshes). Skeptics note omitted labor costs; DHH counters with headcount actually flat-to-down. Read both sides, then run YOUR math (step 1 above) — the solo case needs no faith, just your last twelve invoices versus $60/year.
Isn't colo/owned hardware overkill inspiration for a $5 VPS post?
The scale differs; the logic is identical (rented-meters → fixed-hardware → savings + control). Inspiration transfers across magnitudes when the mechanism matches — and here it matches exactly: reproduce, migrate, flip, parachute.
What would DHH criticize about the solo VPS version?
Probably the remaining rental (true ownership means hardware, and VPS is still someone's computer) and the single point of failure (one box, no rack redundancy). Fair — answered in order: VPS-flat is the affordable 80% of the exit (meters gone, control gained), and snapshots plus 30-day parachutes cover solo-scale failure modes.
How do I explain the exit to a non-technical cofounder?
Money and sleep: "we pay $X monthly that grows with success; the exit costs one weekend and $5 monthly flat; worst case we flip back in an hour." Founders understand insurance (parachute), payback (immediate), and optionality (reversible). Skip architecture entirely — lead with the invoice delta, close with the rollback plan.
Should early pre-revenue founders exit too, or start flat?
Start flat — skipping the cloud phase entirely beats exiting it (no migration, no meter habits, no surprise-invoice education). The whole playbook compresses to the Hetzner afternoon: provision, push, done.
What comes after the exit — is infrastructure thinking done?
Mostly: quarterly patch-and-snapshot verification, yearly provider price-shopping (takes an afternoon), scale triggers monitored (contention, geography). Infrastructure becomes a utility bill you glance at — the entire point, at $5 as at $3M.
Keep reading
- Ditch Vercel: $1,800/mo to $5 VPS (Exit Paths) — the three exit paths, compared
- We Left Vercel at $1,800/mo for a $5 VPS — the receipt, line by line
- Deploy Next.js on Hetzner $5 by Dinner Tonight — the afternoon this exit lands on
+ all the boring stuff (analytics, auth, SQLite ↔ Supabase, full marketplace, webhooks)
Command from your phone.
Built so autonomous AI agents build what you want without breaking what's already paying you.
- Built-in analytics — cookie-free mode, $0 forever, no PostHog bill
- SQLite ↔ Supabase: one setting, same field names
- Full digital marketplace & feedback boards included
- 3 payment rails: Stripe, LemonSqueezy & Dodo Payments
- Agent fences: lint gate, read-only data access, auto-rollback
- Ship from your phone via SSH & WireGuard/Tailscale in under a minute
$199
Get BoringPushOne-time payment · Lifetime updates · Unlimited projects.
Keep reading


