Shipping a marketing site that looks premium is easy. Shipping one that stays fast on mid-range phones, on cold cache, without a performance budget spreadsheet—that takes discipline. We recently tightened ENZORA’s public site on Next.js 15 App Router, hosted on Vercel’s Hobby tier. This article walks through what actually moved Core Web Vitals into the green zone for us, and what we deliberately did not do.
Start with measurement, not guesses
Before changing code, we ran Lighthouse against a production build ( next build + next start ), not next dev . Dev mode inflates JavaScript cost and hides image optimisation.…