The last 48 hours have been intense. I received a “quota usage” warning from Vercel regarding image optimization, which sent me down a rabbit hole of debugging. After cross-referencing documentation for Vercel, Next.js, Cloudflare, and PayloadCMS, I finally optimized my Cache-Control headers. It’s a common headache when working across multiple layers, since settings can conflict with or override one another.
Cleaning up the database fetching cache code is a minor follow-up task that I’ll wrap up today.
I’ve since migrated the app from Vercel to Railway to keep costs under control. The transition had its challenges, but the setup is now stable. Railway handles application deployment, database hosting, and custom domain origin, while Cloudflare manages DNS and blob storage. Zoho remains my email host, Namecheap continues to act as the registrar, and the code repository of course still lives on GitHub.
The long-term goal is to eventually consolidate everything onto a self-managed VPS, but for now this architecture is a massive step forward.
Top comments (0)