Web

Performance budgets that actually hold

Sites launch fast and get slow. The fix is not another optimisation pass — it is making regression impossible to merge.

GGrivonLabs TeamEngineering
8 April 2026 · 5 min read

Almost every slow site launched fast. Performance is rarely lost in one bad decision; it erodes through a hundred reasonable ones.

A tracking script here, an unoptimised hero image there, a font variant nobody audits. Each change is defensible in isolation. The cumulative result is a four-second load.

Budgets, not audits

A one-off optimisation pass buys you a few good months. What holds is a budget enforced automatically:

  • A maximum JavaScript bundle size per route
  • A ceiling on Largest Contentful Paint
  • A cap on total image weight per page
  • A limit on third-party script count

Wire these into CI and fail the build when a pull request exceeds them. The point is not to be strict for its own sake — it is to force the conversation at the moment of the change, when the trade-off is still visible and cheap to reverse.

The usual culprits

In practice most regressions come from a small set of causes:

  • Images shipped at full resolution and scaled down in CSS
  • Fonts loaded in more weights than the design actually uses
  • Marketing tags added directly to production without review
  • Client-side rendering for content that could be static
  • A component library imported whole for one button

None are exotic. They persist because nothing blocks them.

Measure real users, not just lab runs

Synthetic tests on fast hardware flatter you. Field data from real devices and real networks tells you what people actually experience — and the gap between the two is often the entire problem.

Track the 75th percentile, not the average. Averages hide precisely the users you are losing.

Third parties need an owner

Analytics, chat widgets, and tag managers are the most common source of unexplained slowdown, partly because they change without a deploy on your side.

Give every third-party script a named owner and a review date. Anything nobody will defend gets removed.

The rule

Fast is not a state you reach. It is a constraint you enforce — and enforcement has to be automatic, because good intentions do not survive a deadline.

Let's talk about your project.

We write about this because we do it. If you have a problem in this territory, we'd like to hear it.

Free consultation · You own everything we build