Speak: a client's webshop from orange to green, a year after the training
A Dutch agency. I trained their developers, and in September 2024 a client's webshop they rebuilt went live.
Speak, an agency in Heerenveen that builds sites for its clients
Speak builds sites for its clients, and those clients ask about Core Web Vitals. In 2023 I trained their developers for three hours, on sites they had built, with the field data of those sites.
Afterwards they came back with questions about client sites, by mail, for a while, until they could answer them themselves. Later they booked a 4-hour block: I found the LCP bottleneck in the first session and spent the rest of the time teaching the team to read LoAF traces. Their engineering manager: "Our engineers now catch regressions before they reach production."

A client's webshop, rebuilt with what they learned
In November 2024 I got a mail from Sander Los, one of their developers. They had the training the year before, and since then they had been putting it into their own projects, he wrote. He wanted to show me one: a client’s webshop they had rebuilt went live in early September, and he attached its CrUX graphs.
Before the rebuild the home page loaded 22 stylesheets and 3 blocking scripts in the head. The browser downloads every one of them before it shows anything, so on a phone the first screen waited for all 25 files. Sander and his colleagues fixed that with what they took from the training: the rebuilt shop has 4 stylesheets in the head and not a single blocking script.
- 22
- stylesheets
- 3
- blocking scripts
- 32.6 kB
- head size
- 4
- stylesheets
- 0
- blocking scripts
- 9.1 kB
- head size
You could tell from his mail how happy they were, and I was just as happy reading it. LCP, FCP and TTFB all drop in the same week in September, and CLS goes to 0. Great CrUX scores, I wrote back, and really the only scores you need. Then I asked if I could quote him. Go ahead, he said.

A fast rebuild usually doesn’t stay fast. Marketing adds a tag, someone installs a chat app, and a year later LCP is orange again. Not this shop. In CrUX today LCP on mobile is still between 0.6 and 0.8 seconds, with the first byte in under half a second.
"Thanks to the concepts and suggestions from the training, our page speed and user experience have improved significantly."
Sander Los, Developer, Speak
Clients look at the Lighthouse number
The shop loads the cookie banner, the tag manager and the slider library only when a visitor interacts, so real visitors get a fast first screen. Their clients opened PageSpeed Insights. That test sometimes fires a mouseover of its own and then loads all of it anyway, so the score depended on whether it happened to fire one.
I sent them a small script that writes every interaction the test fires onto the page, and one of their front-end developers caught it two days later: a mouseover, the very event they used to load those scripts. In December their project manager wrote that the whole team was trained up on Core Web Vitals, which is why they noticed at all. We went through it together on a call just before Christmas. At an agency the developers have to understand both: what real visitors get, and what the test does.
Training sticks on their own client sites
Every example was a site they would open again the next week.
Your clients send you their PageSpeed score?
Two hours with your whole team, on your own client sites and their field data.
More results on my clients page.