Introduction
When it came time to audit performance, we used our own site instead of a client's — no politics about whose feature ships first, no guessing about priorities, just a real baseline in Lighthouse and an honest look at what was actually slowing it down. We measured before and after. Load time improved by 60%.
The Tools
Two tools did the actual measuring: Lighthouse, which scores overall performance and tells you specifically what's dragging the score down, and WebPagetest, which runs the test from different locations and connection speeds so you're not just measuring your own fast office wifi. We tested across browsers and network speeds — on a fast connection the site looked fine; on a throttled mobile connection, it was slow enough that a real visitor would have bounced before it finished loading.
What We Changed
Of the seven changes that moved the number, four were additions and three were removals — but the removals did more per change. Unused JavaScript, unnecessary third-party scripts, and images nothing on the page actually loaded were each, individually, bigger wins than anything we added.
Removed
- Unused JavaScript. Code the site was shipping and parsing that nothing on the page actually called.
- Unnecessary third-party scripts. Every embedded widget and tracker is a separate network request and a separate script blocking the main thread — the ones that weren't earning their keep got cut.
- Unused images from directories. Assets nobody referenced anymore, quietly adding to build size and cache bloat.
Added
- WebP image format in place of older formats — smaller files, same visual quality.
- Missing accessibility attributes — alt text, labels, the things a screen reader actually depends on.
- Missing SEO fundamentals that had never been filled in.
- Preloading for images the page needed immediately, so the browser didn't discover them late.
Conclusion
The lesson wasn't "add more tooling" — it was that most sites accumulate dead weight faster than anyone notices: a script added for a campaign that ended two years ago, an image nobody deleted, JavaScript from a feature that got cut. Before reaching for something new, audit what's already shipping that doesn't need to be. That's usually where the bigger number is.
Tyrone ShowersIf you want execution instead of more rework, start with frontend delivery support, connect it to the momentum framework, or show us the delivery bottleneck.