2025-12-11Retrofuture
The AI Ouroboros is chewing its tail, and we're all being strangled in the center.
After my last AI post I've been slopping away with agents, trying out Claude and Codex. The sessions range from "incredibly productive" to "immensely frustrating" depending on a bunch of factors: the best times are where you're having a bad brain kind of day and you can let the thing hack away at simpler stuff, like repetitive refactorings. The worst ones are where you're trying to get a more complex feature out, something that touches the whole stack. You're often better off doing it yourself, even if you have to bang your keyboard a bit more. Funnily enough the agents—like me—also work best in the mornings, before the Americans have woken up and gone all noisy-neighbor on my GPU compute.
I'm easily a better programmer than these clankers, which is sort of comforting, but what they lack in sophistication they make up for in sheer relentlessness. They use the russian war strategy for coding: throw thousands upon thousands of drunk imbeciles at a fortified position with zero fucks given about cost or suffering, and you'll get someone through eventually. Programming by brute force. It's unnerving, but here we are.
Black and blue, or white and gold
Josh Collinsworth's post about Sloptimism and its strong connection to hierarchy and precariousness resonated with me. We're at a strange inflection point now where AI is The Dress, and some people can see only Limitless Potential where others see only Cataclysmic Ruin. The actual merits of the technology almost don't matter at this point—both promoters and detractors are pretty much in agreement that we're in a massive bubble, we're going to see a big crash within a year or so, and programmers in general are in for a bad time. That fills me with existential dread (perhaps not surprising since I'm a very neurotic person whose default is existential dread) but others feel giddy and liberated. No more having to rely on pesky craftsmen with their dumb opinions about "having tests" or "pages working without JavaScript!" That's where my depression about AI hits the hardest, because I believe we're in for an extended period of absolute fucking stasis when it comes to building web apps. And 2025 is a terrible time to freeze the web ecosystem.
The 2013 that never ended
There's nothing an AI agent loves more than prior art, and we've been drowning in React code for the better part of a decade now. I've been screaming into the wind about my distaste for squeezing your frontend and backend together in a stinky transpiled bucket of Node, especially when browsers are as capable as they are today, but nobody is listening. To recap, this is what I feel on a macro level:
- Render a static page
- If static isn't enough, render a dynamic one with a capable server framework
- If a dynamic page isn't enough, put some JavaScript in it
- If that's not enough, make the interactive parts work using a frontend framework.
If, for some reason, step four STILL doesn't do the trick, you have my grudging permission to reach for isomorphism (or whatever the equivalent word is in today's frontend parlance, I'm out of the loop) because that's a last-ditch hail-mary type of effort: once you've decided that your frontend and your backend look basically the same when squinting, you've signed up for a world of hurt when it comes to performance, complexity, and security. This just seems like common sense to me, but I have to accept that I'm in the minority now. Everyone immediately reaches for their Hooks™ and Effects™ as soon as the word "website" is mentioned even if it's a terrible fit.
So what then, pray tell, would be the defaultest and most favorite framework for an AI agent today? No, don't answer. I don't like that answer.
Browsers are getting amazing, but will anyone care?
I've been following Stephen Margheim's recent tips for working with dialog elements in HTML. The primitives available to us now are incredibly sophisticated compared to what I grew up with. You can make a complex hamburger menu that launches accessible and keyboard-friendly popovers in all screen sizes without so much as a single line of JavaScript, if you care to. We have view transitions, prefetches, anchor positioning, container queries... the list keeps growing, and interop has never been better. But what will an AI agent do if you tell it to build a hamburger menu? It'll hawk a useEffect(() => {}) with a div role=button loogie in your face. If you tell it to make the menu accessible, it'll roll its eyes, tell you that you're absolutely right and then sprinkle some aria-label attributes on the code. It's grim, and it won't get better, because a year from now AI is going to be subsisting mostly on its own feces like a photonegative Bear Grylls. If Claude is going to be the one writing code from now on, we might as well fire the entire Chrome and Firefox developer teams (Safari's single tired platform engineer has already been smoking pot, playing online poker, and closing as WONTFIX for a couple of years so no big changes needed) and declare browsers Done. Dig out the old "Mission Accomplished" banner and let Dubya make a speech. Welcome to the world of React Forever, as written in 2024! Rotating spinners, grey tombstones on first load, links as button elements, and buttons as divs. Sam Altman's beautiful future is bad news for those of us who actually give a shit.