Cover image for the article «How I optimised this website's performance» — Ahsen-Studio

This site started at 93/100 on mobile Lighthouse, with LCP at 2.2 s and the main thread blocked for 260 ms. Today the score reaches 99, with LCP down under two seconds. Here is the journey, with the real numbers behind every decision.

Before touching any code I measured: Lighthouse in mobile mode, with a slow simulated network and a 4× slower CPU. That looks harsh, and that is the point: if the page holds up under those conditions, it holds up on most real phones. The first report was clear — the content arrived, but it arrived late, with the main thread busy on something else.

The main culprit: the preloaded font

Preloading the font seemed like a good idea, but on a slow connection it ended up competing for bandwidth with the CSS and forced the browser to lay out the page twice. Once removed, first paint dropped from 2.4 seconds to about 1.2: the text shows immediately in the system font and switches to the final one with no visible jump.

Animations start when they are needed

The self-typing text and the transitions used to start a few seconds after load — right inside the window where the browser decides what to show first. Now they start on the reader's first gesture, a scroll or a tap, or after eight seconds when the urgent work is done. Main-thread blocking went from over 400 ms to just over 100.

Less CSS: 15 KB off every visit

The stylesheet still had rules for components that no longer exist on any page. I removed them one by one, checking that no live selector relied on them: about 15 KB less downloaded on every visit, on every device.

Today's numbers

  • LCP at 1.8 s — under the 2.5 s Google considers good
  • TBT around 100 ms, down from 260 ms at the start
  • FCP at 1.2 s: the page appears immediately
  • CLS at 0.01: content does not jump while you read
  • 99 on mobile, with Accessibility, Best Practices and SEO at 100

What I take away

The score is not the goal: it is the thermometer. Every point gained is a little less waiting for the person reading — and that matters more than any number. The method never changes: measure, remove what is unnecessary, repeat.