All writing

AI in the loop, not on autopilot

Jun 18, 2026·2 min read

The honest version of "I use AI in my workflow" is less impressive than the phrase sounds and more useful than the demos suggest.

What it's good at

Scaffolding is the obvious win. A new component with its stories, a form with validation wired up, a migration and its rollback — the shape of these is boring and known, and I can review a diff faster than I can type it. The agent gets me to a working first draft, and the interesting work starts there.

The less obvious win is reading. Dropping into an unfamiliar codebase, I'll ask the agent to trace how a request flows from the route to the database, or to find every place a feature flag is checked. It's a faster grep that explains what it found. I still read the code myself afterwards — but I read the right code.

Where it costs you

The failure mode is subtle. The agent produces something plausible, the tests pass, and you ship it. Two weeks later you're debugging a race condition that exists because nobody — human or model — actually held the whole flow in their head at once.

So the rule I've settled on: the agent can write code I could have written, and I have to be able to explain every line back. If a diff does something I don't understand, that's not a shortcut, that's a liability I haven't noticed yet.

The workflow

  1. Describe the change in plain language, including the constraint that matters ("keep the existing keyboard behaviour", "don't add a dependency").
  2. Let it draft.
  3. Review the diff like it came from a junior who's fast but doesn't know the product.
  4. Take the wheel for anything with state, money, or a migration.

It's not magic and it's not a threat. It's a good pair who never gets tired and occasionally needs to be told no.