The Archer's First Unfeathered Shaft: On the Hollow Velocity of a Bloated Bundle

There is a mantra in our craft, repeated so often it has calcified into unquestioned doctrine: 'Ship less JavaScript.' It is our primary metric, our north star, the singular battle cry in the war for a faster web. We fetishize the kilobyte, celebrate the stripped-down bundle, and point to our Lighthouse scores as proof of our virtue. But in our zeal to minimize, we have, I fear, missed the forest for the trees. We have become archers obsessively shaving down our arrow shafts for maximum velocity, while forgetting to fletch them.

The fletching, for those unfamiliar, is the fin-like structure at an arrow's end. It is not the source of its power, but the source of its stability and direction. Without it, an arrow may indeed fly fast and straight for a short burst, but it will quickly become unstable, veer off course, and fail to hit its mark with any consistent force. Our obsession with 'less JavaScript' is the same. We deliver a tiny, fast-loading bundle—a perfectly streamlined shaft—but if the code within is a tangled, un-prioritized mess, our user’s experience immediately veers into chaos.

Consider the experience. A page loads in a blazing 1.2 seconds. The DOMContentLoaded event fires triumphantly. And then… nothing. The screen is a static, non-interactive painting. The user, encouraged by the initial speed, moves their cursor to click a button. Nothing happens. They try to tab through a form. Nothing. For three long seconds, the main thread is utterly enslaved, parsing and executing the very 'small' bundle we shipped. We achieved a perfect lab score for bundle size, but we delivered a hollow, frustrating velocity. The arrow was light and fast, but it had no guidance, no stability, no sense of purpose.

This is the critique: 'Ship less JavaScript' is an incomplete, and therefore dangerous, piece of wisdom. The true goal is not merely to ship less, but to ship smarter. It is to ensure that the little we do ship is purposeful, prioritized, and perfunctory. It is the discipline of code-splitting, of lazy-loading non-critical interactivity, of ensuring that the very first slice of code that executes is the code that makes the page respond to a human being. The weight of the bundle is a factor, but the timing and execution of its contents are the fletching that gives that bundle its true aim.

Let us not be archers who boast of the lightest quiver while our arrows spiral uselessly into the dirt. Let us instead be craftspeople who understand that true performance is a balance of mass and aerodynamics, of raw speed and intelligent control. Let us build bundles that are not just small, but stable, directed, and truly ready for the moment they arrive.

Notes & further reading

A few pages I came back to while writing this: