HomeProjectsBlogPlansContact

Squeezing 95+ Lighthouse scores out of React apps

A checklist I run on every build before launch — the eight changes that reliably move a React app from the 70s into the high 90s.

Squeezing 95+ Lighthouse scores out of React apps

Performance is a feature users feel in the first 100 milliseconds. Here is my pre-launch checklist:

The big eight

  1. Render on the server. SSR/SSG for anything a crawler or first paint needs.
  2. Kill the waterfall. Preload fonts, inline critical CSS, defer everything else.
  3. Images: dimensions + lazy + modern formats. Layout shift is the silent killer of CLS.
  4. Split by route, not by component. Over-splitting creates request storms.
  5. Measure the main thread. Any task over 50ms gets profiled — usually a JSON parse or a chart lib.
  6. Cache with intent. Static assets: 1 year immutable. HTML: revalidate.
  7. Third-party scripts load last. Analytics after load, chat widgets on interaction.
  8. Test on a $100 phone with 3G throttling. Your users do not have your laptop.

Run this list and the high 90s stop being luck.

Keep reading

More from the workbench

All articles →