Core Web Vitals 58 → 97 (Mobile)

4-day engagement • minimal rewrites • Next.js App Router

Summary

  • Mobile PSI: 58 → 97
  • LCP: 4.1s → 2.2s • CLS: 0.24 → 0.01 • TBT: 320ms → 120ms
  • Work: font loading, image strategy, script defers, dynamic imports, ISR, cache headers

Before / After

Before Lighthouse (mobile)After Lighthouse (mobile)

Full report: Lighthouse HTML

What I changed

  • Fonts: next/font with display swap, subset, preconnect
  • Images: <Image />, proper sizes/srcset, hero priority only
  • Scripts: Moved 3p scripts to <Script strategy="afterInteractive" /> or lazyOnload
  • Code-splitting: dynamic imports for charts/editor/admin
  • Data: ISR for content pages, cache headers via NextResponse
Open Live DemoView Lighthouse Report

Want the same result?

Book a quick audit. I’ll send a prioritized fix list and a timeline.

Book 30-min Audit