homedark

On AI

May 22, 2026

I use AI (Claude Code). A lot. I think it's a useful tool and like all tools, its usefulness will vary based on how you use it and what you're trying to do with it. Considering where things stand now, I have a hard time imagining a case where the value doesn't outweigh the cost.

I think there's one major factor that will determine how useful these tools are for you: do you enjoy doing code reviews? If you don't, then I imagine the experience will be unpleasant and the result far from ideal. Anecdotally, I feel that most developers aren't too keen on doing code reviews, and that's where a lot of the push-back is coming from. Some of the blame also belongs to Claude Code (and I assume all the other tools, though I have limited experience) for making the review experience awful.

Who/What wrote a piece of code doesn't change one obvious fact: the smaller the change, the easier it is to review. Concretely, this means I'm happy to let Claude write a simple feature and then review it in full. But for large changes, I can review incrementally - which is the killer feature in my workflow. I often co-drive and interact upfront, until I get a feel that the scope is well defined, and Claude "understands" what I want and how I want it. Claude itself seems to like to get the "shape" of things done upfront. I know it's silly, but I sometimes feel embarrassed to ask for an explanation; sometimes having to ask multiple times. But that's another noteworthy benefit: I'm not blocking a PR or wasting a colleague's time with my own lack of understanding, so I'm more likely to ask and thus more likely to gain a deeper understanding (or, in rare cases, fix an actual bug in the implementation).

Another important part of my flow is to yak-shave and nitpick. Rewriting comments (another major miss on coding agents is how verbose they are), renaming variables and going through my personal catalog of preferred refactorings, is something I'm free to do with AI-generated code that I avoid/limit with a human-generated PR. This works particularly well with the incremental review strategy. It gives me something to start with and often results in a brief summary or admonishment from Claude explaining why my change is good or bad; further cementing both of our "understanding".

My setup is out-of-the-box basic. The only time I have more than one session open is if I'm working on a large feature and hit a side quest, e.g. we've hit a segfault. My experience is that a new session will often figure things out faster, while the original session remains more focused. The fanciest thing I do is make sure to name all my sessions for future recall. I don't use any significant agent-specific tooling/files.

My biggest non-tooling complaint is that the quality and interactions are inconsistently inconsistent. With no apparent rhyme or reason, a specific session can see Claude failing to do basic things (e.g. running tests) that it has done a hundreds of times correctly in previous sessions. Lately, it frequently flags my benign work as violating Anthropic's AUP. Normally that happens when I'm troubleshooting a crash, and I'd generally consider this a tooling-issue, but I dislike and worry about what that could mean in the future.

Whenever someone snickers at AI slop from vibe coding, I wonder what they're comparing it to. Between poorly designed buggy code written by a human and poorly designed buggy code written by AI, the latter has the advantage of being cheaper and faster. I realize people will call this a simplification and false dichotomy, but I think for a significant number of cases, that's the point we're at today. There are plenty of reasons not to go all-in on AI, but code quality isn't one of them. I think it stands to reason that poorly designed codebases and poorly functioning teams will get less value from AI tools. That isn't to say that anyone struggling with AI tools is a bad developer. This is provably false, just like it's provably true that some people are able to extract tremendous value. You can sit on the sidelines and snicker, or you can roll up your sleeves and work through whatever's blocking you/your team/your company from benefiting.

The last point I want to make is about cost/value. I don't want to speculate about future costs, but being bullish as I am about coding agents (yet bearish about AI in general), I do worry about AI inequality. Where I live, $100/month isn't realistic for most developers; it can represent 15%+ of a developer's salary. I have no solution or prediction about this, I just think it could be an issue.

I have two disclaimers to make. First, I work in browser-tech: something very well understood and documented. I used to think Claude worked well for me in large part because of this. I no longer think that's true. Too much of the work is specific to our implementation. I'd like to think our codebase is relatively well structured, tested, documented and understood, and that's what makes the real difference. Second, I have a free open-source-related Claude subscription. I used to pay for it, and I'll pay for it (or something else) when that gift expires.