Open PageSpeed Insights, run your homepage, and you get a single Largest Contentful Paint number: 2.1 seconds, green. You ship it.

That number is an average, or close enough to one for this argument, and performance problems hide in averages.

One number, many experiences

LCP is thousands of measurements, taken across devices, network conditions, cache states, and pages, then collapsed into one figure that fits on a dashboard badge.

A visitor on fiber with a warm cache sees your content in 0.8 seconds. A visitor on a three-year-old Android phone, on 4G, landing on a page with nothing cached, might wait 4-5 seconds. Your dashboard averages both into a “2.1 seconds, green” badge. The badge is accurate and describes a statistical fiction between two different realities. No visitor experiences it.

The visitors with the worst experience are the ones most likely to bounce. A healthy-looking average can cover a long tail of bad page loads, and the average won’t show it. You have to look for the tail yourself.

Why a faster server doesn’t fix this

The instinctive fix is infrastructure: a faster host, a CDN, image compression, code splitting. All of it is worth doing, and none of it touches the shape of the problem. The server is fast enough. The browser doesn’t know what to fetch until the user clicks, and by then the visitor is already waiting.

Every optimization aimed at the first request fights the same physics: DNS lookup, TLS handshake, server processing, download, parse, render. Trim milliseconds off each step and the clock still starts at zero the moment someone clicks.

Make the request earlier: before the user clicks, based on where they’re likely headed next.

What we built to fix this

Foresight rests on this premise: treat page loads as predictions instead of cold starts. A model trained on your own analytics data predicts a visitor’s likely next destination and preloads it before the click. The content often sits in the browser by the time the visitor asks for it, so perceived LCP, which decides whether they bounce, drops.

Foresight won’t fix an underpowered server or replace the basics (compress your images). It addresses the part of the LCP problem that infrastructure spending can’t touch: the first byte of a page starts moving only after the user commits to going there.

An audit shows your own LCP distribution, the full spread instead of the average, and tells you more than the dashboard does.