Glass Houses
A line at the bottom said they'd like an honest opinion. Through work, someone had sent over the GitHub URL of a tool they'd built with AI.
I cloned it during a gap at work and fired up Claude Code. Lately I've been having it dump an HTML report just for me, to get a handle on the structure. My eyes slide off Markdown; the HTML comes with headings and colors built in. Not for sending. A tool for organizing my own head.
I read the README, looked through the directories, glanced at the tests. By the time I'd done a pass, a feeling kept piling up. What the README claims and what the code does don't quite line up. The design has no through-line. Features that look like afterthoughts have been bolted on to keep the story straight. There's barely a thought for the user.
There's apparently a thing called AI harassment going around these days. Sending someone a long block of AI output you haven't bothered to read or edit yourself. Text that hasn't been routed through the writer's head dumps all the reading effort on the receiver. I didn't want to do that.
So I trimmed the message down to what I actually wanted to say. The gap between README and implementation. Features piled up on impulse. No clarity on who the tool was for or what it solved. I didn't want to just criticize without offering an alternative either. So I added one section at the end — "here's how I'd build it" — and sent it off. Who do I think I am, I muttered the whole time.
Once I'd sent it, every line started to hit close to home.
The whole time I'd been writing, my own projects had been flickering at the edge of my mind. That repo of mine — the original README and the current code have drifted apart too. That feature I added because I thought it was needed — I never seriously considered who would use it. There are stretches of AI-generated code I had ground out by brute force, let stand because they worked. Plenty of those come to mind too.
People in glass houses, as the saying goes. A useful proverb — it's really just telling you to walk through your own first. When I did, the same offenses were sitting in every room.
Hand the work to AI, and code piles up endlessly. Vague specs and weak design get buried under sheer volume. It looks like it runs, so that's enough to feel okay about it. I know simple code is beautiful, intellectually. But standing in front of a pile of AI-generated code, I get a vague sense of having done real work.
It was supposed to be a small favor, slotted into a gap in the day.
The boomerang came back. It only lodged in my own head.