We run Hizmetgo, a Turkish local-services marketplace (think Thumbtack for Türkiye). The site is programmatic-SEO heavy: ~1M+ Next.js ISR pages across 81 provinces, 970+ districts and thousands of service categories. Here's the infrastructure story of how we left Vercel, moved to a single Hetzner VPS, hit a disk-full crash at 3am, and fixed it with an in-memory cache handler.

Why we left Vercel

Vercel was excellent for shipping fast, but at our page volume the ISR invocation + bandwidth bill climbed past what a bootstrapped startup wanted to pay (~$150/mo trending up). We wanted predictable cost and control, so we moved to a Hetzner VPS with Coolify (an open-source, self-hosted Vercel/Heroku alternative) for git-push auto-deploys, with Cloudflare in front for caching and TLS.

The migration itself was smooth: Coolify builds the Next.js app (Turbopack), a webhook auto-deploys on every push to main, and Cloudflare's "Cache Everything" absorbs the bot storm on our SEO pages.

The 3am disk-full crash