The cheapest performance win nobody ships
Most sites lose more time to one unoptimized hero image than to any JS framework choice.
We audit a lot of sites. The biggest LCP hit is almost never the framework. It’s the hero image: a 4MB JPEG, no width hint, no priority, loading after the CSS resolves the layout twice.
The fix is unglamorous
Serve the right size for the device. Use AVIF or modern JPEG. Set width/height attributes so the browser reserves space. Mark it fetchpriority="high". Preload it. That’s it — usually under an hour of work, often more impact than a month of framework tuning.
What we measure first
On every project we benchmark: LCP, CLS, INP, and TTFB. The order we attack them is almost always the same — image weight first, then late-loading JS, then layout shift, then server latency.
None of this is novel. It’s just rarely the first thing teams ship — because it’s not exciting on a roadmap. It is, however, the cheapest thing on the bill.