Remember when a website loaded before you finished reaching for the mouse?
I do. I remember pages that snapped onto the screen. I remember software that shipped on a single disc and ran on a machine you bought once and kept for years. I remember when a developer who shaved a few kilobytes off a page felt like they had won something, because they had.
Now I open a news article and watch my laptop fan spin up. To read a paragraph. One paragraph of plain text, behind a wall of scripts, trackers, fonts, and frameworks, each one politely waiting its turn to make me wait. This drives me mad, and I do not think I am alone.
We did not get here by accident. We got here by deciding, slowly and without ever saying it out loud, that efficiency does not matter anymore. That web bloat is just the cost of doing business. I want to talk about why I think that is wrong, and why I am betting a company on the opposite belief.
The web got fat, and we stopped noticing
Here is the number that should bother you. According to the HTTP Archive Web Almanac, the median page weight on mobile grew 594% in the decade from 2012 to 2022. Not 5%. Not 50%. Five hundred and ninety four percent. The web got roughly seven times heavier to deliver, on phones, while phones got faster and networks got faster, which means we ate every gain and asked for more.
It is still climbing. The 2025 Web Almanac puts the median desktop home page at about 2.9 megabytes and the median mobile page at about 2.6 megabytes, both up again year over year. Three megabytes. For a home page. The original DOOM, the entire game, fit in a fraction of that.
And what is all that weight? On a typical page, images are the biggest single chunk, but the part that makes the machine sweat is the script. The same Almanac data shows hundreds of kilobytes of JavaScript shipped to the median phone, and a 2024 analysis found that around 44% of those bytes go unused during the page load. Read that again. Almost HALF the code we send to your phone never runs. We ship it, your device downloads it, your battery pays for it, and it does nothing.
That is not a website. That is a delivery truck that arrives half empty and idles in your driveway.
We confused "powerful" with "good"
Don't get me wrong. Some of this complexity earned its place. Modern web apps do things the old static page never dreamed of. Live collaboration, maps, interfaces that respond like native software. Encryption everywhere, which is non-negotiable and worth every byte. I am not asking the web to go back to gray backgrounds and blinking text. That nostalgia is a lie and I know it.
But somewhere along the way we stopped asking whether the complexity was buying us anything. We added the framework because everyone added the framework. We pulled in the analytics, the heat-map tool, the A/B tester, the consent banner that loads three more scripts to ask permission to load the first ones. Each decision was small. The pile is enormous.
The deeper rot is cultural. We started treating hardware as infinite. Why optimize when the user can just buy a faster phone? Why trim the bundle when the server can just scale? Efficiency became someone else's problem, then nobody's problem. We built an industry where the answer to slow software is more silicon, and the answer to bloated software is more silicon, and the answer to wasteful software is, you guessed it, more silicon.
It works, in the way that a credit card works. Right up until the bill comes.
Who pays for the bloat
You do. You pay in the seconds you spend waiting, which add up to hours of your life staring at spinners. You pay in battery, in a phone that dies by mid-afternoon. You pay in the laptop you replace a year early because the web finally outgrew it, even though the hardware was fine.
The person on a five-year-old phone in a place with a slow connection pays the most. A three-megabyte page is an annoyance on fiber. It is a closed door on a metered, throttled connection. Every megabyte of bloat is a small act of exclusion, quietly deciding who gets to participate.
And then there is the bill nobody puts on the invoice. All this wasted computation runs somewhere, on servers, in data centers, drawing power and water around the clock. I have written before about the hidden energy cost of AI, and the web has the same problem in a slower, more diffuse form. Inefficient software is not free. It is a draft on a shared account, and the planet is the co-signer.
I find that genuinely hard to accept. We have the knowledge to do better. We have had it for decades. We just decided it was not worth the effort.
Efficiency used to be a virtue
There was a time when a programmer who fit a feature into less memory was respected for it. Constraint bred craft. The demoscene people made jaw-dropping graphics in 64 kilobytes because they had to, and the having-to was the point. Limits make you choose. They make you ask what deserves to be there.
We threw the limits away, and we threw the discipline away with them. Cheap hardware was supposed to free us to build better things. Instead it freed us to stop caring. The skill of doing more with less did not just fall out of fashion. We forgot it was ever a skill.
That is the part that stings. Not that the web is heavy, but that we no longer see lightness as an achievement worth chasing. A fast, lean site does not get applause. It gets ignored, because nobody notices the absence of friction. The bloat is invisible precisely because it is everywhere.
Why I keep betting on lean
So here is the part where I am supposed to pretend I have it all figured out. I do not. Carpathian ships software, and I promise you we have our own bloat to answer for. Idealism is easy in an essay and hard in a sprint.
But it is why I care so much about the foundation underneath all of it. I build cloud and AI infrastructure for a living, and I keep choosing the harder, leaner path on purpose. I am obsessed with low-power infrastructure, with squeezing work out of modest hardware, with upcycling machines other people would throw away. Not because it is trendy. Because waste offends me, and because efficiency at the bottom of the stack is the one kind that everyone above it inherits for free.
The same instinct shows up in how I think about AI. The industry's reflex is to throw a giant model at every problem, most of which do not need one. I would rather use the smallest thing that does the job well, which is the whole argument behind small models and a bigger future. A lean model on efficient hardware is not a compromise. Often it is the smarter engineering, and it happens to sip power instead of guzzling it.
None of this is nostalgia. I do not want 1998 back. I want the 1998 attitude back, the one that treated a wasted byte as a small failure worth fixing, married to everything we have learned since. We can have rich, capable software that also respects the machine it runs on and the person sitting in front of it. Those two goals were never enemies. We just stopped trying to hold both.
What I would ask of anyone who builds
Measure your weight. Open your own site, look at what it ships, and ask of every script and every dependency the only question that matters: is this earning its place? Most of the time, a surprising amount of it is not. Cut it. Your users will not write to thank you, because they will not notice. That is the highest compliment software can earn.
Efficiency is not a feature you bolt on at the end. It is a way of caring, expressed in code. The web forgot that, and the forgetting cost us speed, batteries, hardware, money, and a measurable slice of the planet's energy. We can remember. It starts the moment we decide that fast and light is not the boring choice but the disciplined one.
Build like the byte still costs something.
