Polio, Bloatware, and Vibe Coding
I have Polio. I got it from the polio vaccine when I was three months old—talk about winning a lottery ticket. Honestly, it hasn’t been as bad as you might imagine. Sure, my left leg is weaker and I wear an AFO (ankle-foot orthosis), but the biggest frustration these days is pretty ordinary: shoes.
For people with AFOs, shoe shopping isn't about style or brand. Each of us needs specific changes to our shoes. My left shoe, for example, needs a certain lift height, ankle reinforcement, and an extra-tall toe box. Regular shoes rarely fit us properly.
My shoe situation reminds me of Joel Spolsky’s essay "Strategy Letter IV: Bloatware and the 80/20 Myth." Spolsky explained why software companies intentionally created "bloatware," software filled with features that seem unnecessary to many users. Digital distribution had become nearly free, making extra features cheap to include. Crucially, what looks like unnecessary complexity to one user can be essential to another.
Spolsky used Microsoft Excel as an example. In 1993, Excel’s extra features took up about $36 worth of expensive hard drive space. By 2000, those same features cost only around $1.03 because hardware quickly became cheaper. What seemed like pointless complexity actually provided real value at decreasing costs over time.
My shoe problem follows similar logic. I don't want specialized disability shoes; I want regular shoes adapted exactly to my needs. Similarly, most software users don’t want stripped-down apps. They prefer standard software customized intelligently to their individual situations.
But instead of smarter customization, software development today slips into what Andrej Karpathy calls "vibe coding." Vibe coding happens when developers rely completely on powerful AI without carefully reviewing the code it produces. Unlike Spolsky’s deliberate addition of features, vibe coding piles up complexity without clear intention. Developers accept AI suggestions without checking, skip reviewing changes, paste error messages without thinking, and work around bugs instead of properly fixing them.
This creates software complexity nobody fully understands. It's complexity without a clear purpose, building layers of confusion and inefficiency. Unlike Spolsky's intentional bloat, vibe coding results in messy, confusing, and ineffective software.
The solution isn't simply removing features. Instead, it's embracing bespoke software at scale, intelligent, context-aware systems that deliver precisely tailored functionality without incurring overwhelming complexity.
Just like cheaper hardware made Excel’s extra features economically reasonable, modern AI allows us to personalize software affordably. A cobbler can analyze exactly how I walk, figure out precisely what my feet need, and deliver a perfectly customized shoe. Similarly, in software, AI can understand a user's context and deliver exactly the right features at exactly the right time without sacrificing capabilities that matter to others.
The goal isn’t fewer or more features. It’s smarter, personalized software. The best solutions, like the ideal shoes, fit perfectly, adapt intelligently, and deliver exactly what's needed at exactly the right moment.