Speed
Making a site 88% lighter without losing quality
Three client sites were heavy before anyone pressed play. We rebuilt how their media is stored and served, and set a rule that keeps them light.
IO Creative2 min read
Ran on
- Next.js
- Netlify
- Cloudflare
- Sanity
The problem
A first visit to a small-business website should be quick. On three of the sites we look after, it wasn't. The pages looked fine, but every visitor downloaded far more than they saw: full-size photos, uncompressed videos, and files left over from earlier builds.
G&I Consulting is a good example. A first desktop visit to their site, inside the site builder they used before, moved 33.1 MB. On a phone, a first visit to Mentora Impact moved 61.2 MB.

How we defined it
The job was not one heavy file. It was where every file lived, and in what shape it arrived.
Most of it was media that had never been prepared for the web. A hero video exported for a big screen. Photos straight from a camera. The same file stored twice under two names. None of it was visible as a problem until we measured a cold visit with the cache turned off.
How we solved it
We wrote one media standard and moved every client site onto it. Each kind of file has one home:
- Pages and code are served with the site.
- Media the client edits lives in their content editor.
- Fixed design video is served from the edge, close to the visitor.
- Everything is optimised before it is uploaded, never after.
Quality came first. We re-encoded only where the result looked the same side by side, and kept the original where it didn't.
Our vision
Light is now where a site starts, not a clean-up it waits for. Every new page, photo and video goes in under the same rule, so these sites stay fast as they grow.
Optimise first, then upload. A file that goes up heavy tends to stay heavy.
The fix was not one clever trick. It was deciding where each file belongs, and making the right place the easy place.
Make the rule enforce itself
A standard that depends on memory fails the first busy week. Every client site now runs a media check before it builds. An unoptimised or misplaced file stops the build, with a message saying which file and why. Exceptions are written down with a reason.
Measure the visit, not the file
We judge by a real first visit with the cache off, on desktop and on a phone. That is what a new customer actually downloads.
- 88% lessG&I Consulting, first desktop visit: 33.1 MB to 4.0 MBChrome, cache off, 2026-10-15
- 79% lessMentora Impact, first phone visit: 61.2 MB to 12.6 MBChrome, cache off, 2026-10-15
- 56% lessNUDN Women's Club, first phone visit: 1.87 MB to 0.82 MBChrome, cache off, 2026-10-15