Skip to content
Laptop showing a dark minimal website beside design books and a vase

18 June 2026 · 6 min read

Performance

What a slow website actually costs you

Performance is not a technical preference. On South African mobile networks it is the difference between an enquiry and a bounce.

There is a particular kind of website that looks magnificent on the agency's demo laptop and is unusable on a five-year-old Android phone on a patchy LTE connection in Benoni. That second device is where most of your traffic actually lives, and nobody in the approval meeting has ever seen the site on it.

Speed is not a nice-to-have you optimise after launch. It is a design decision made every time somebody adds a font weight, a hero video, a chat widget or a third analytics script.

Measure on the device, not the dashboard

Lighthouse on a desktop with fibre will tell you the site is excellent. It is measuring your machine, not your customer. The number that matters is field data from real users, and the useful benchmark is a mid-range Android device throttled to 4G.

On one vehicle configurator we inherited, that test showed eleven seconds to interactive. Seven in ten mobile visitors left before the first render. The client had been told the site scored 92.

The biggest wins are almost never code

In order: images, fonts, third-party scripts, then your JavaScript. Converting a hero image to AVIF and sizing it properly will usually beat a week of bundle optimisation, and it takes an afternoon.

Third-party scripts deserve particular suspicion. A chat widget, a heatmap tool, a tag manager loading four more tags and a cookie banner can easily be more code than your entire application, and none of it is under your control.

Put a budget in the pipeline

A performance budget that lives in a document gets ignored by month three. One that fails the build gets respected. We set a JavaScript ceiling per route and any pull request that exceeds it does not merge.

It sounds severe. In practice it turns performance from a periodic clean-up campaign into a constraint people design within, which is much cheaper and considerably less demoralising.

If you take four things away

  • Test on a mid-range Android device on 4G, not on your laptop
  • Fix images and fonts before touching your bundle
  • Audit third-party scripts ruthlessly; they are code you did not write and cannot fix
  • Enforce a performance budget in CI or it will not survive the year
Subscribe

Get the next one when it lands.

One considered note a month. No campaigns, no selling your address on.

Questions about anything in this piece? Email me directly.

Next: The brief behind the brief

More from the journal

All writing
Warm studio corner with a tree, pendant lighting and a working desk
Dark minimalist desk with a monitor showing code and a desk lamp
JournalTaking projects from September

Reading this because you're weighing up a project? Just ask.

A short email describing what you are considering is enough to get a useful answer, including 'this is not worth spending money on yet'.

Studios

Johannesburg studio14 Keyes Avenue, Rosebank, Johannesburg, 2196, South Africa
Cape Town, by appointmentBuitengracht Street, De Waterkant, Cape Town, 8001, South Africa

Journal subscription

One considered note a month. No campaigns, no selling your address on.

Bonolo Mathabela · Designer & Developer · bonolomathabela.com