The AI-Augmented PM

I build products with AI coding agents. I write about what I asked for, what shipped, and what I had to change.

The Product Did Not Travel

A bingo app built for a cruise ran a second event for a different host. By Saturday afternoon, nobody was marking squares. The host's account sent me back to the cruise data, where a dinner ritual had been hiding inside the engagement totals.

Featured

Silence Is Not an Approval

My review pipeline kept counting a reviewer that hadn't answered as one that had. Local fixes helped, but each path still decided what silence could prove. I set a rule for one kind of silence and accepted the extra waiting. The broader contract isn't finished.

Every Reviewer Was Right, and the Pull Request Was Still Wrong

Two pull requests drew 72 Codex findings. I couldn't fault one; both closed unmerged. One grew from 35 lines to 2,136 for a requirement that later shipped in 377. I was asked five times how to proceed, never whether the machinery under review still belonged in the product.

1,513 Lines for One Dash: The Requirement Nobody Questioned

I wanted this site to follow one Chicago rule. An unrequested auto-fixer drew 42 of 57 review findings; cutting it ended the rewrite-safety churn. Without an adapter, the replacement linter would've skipped post metadata and still reported green.

A Perfect Score on the Wrong Axis: 116 Review Findings, Zero Rejected, One Escape

An eleven-PR batch recorded 122 dispositions; no finding was rejected as factually wrong. A P1 shipped; its post-merge finding joined the tally. The rule it broke had been raised on a sibling PR twelve hours earlier, then fixed and validated there before this PR merged.

The HTML Mock-up Is the Spec: How I Got Visual Work Out of Claude Code

Claude kept giving me layouts that didn't match what I had in mind. I asked it for standalone HTML mock-ups, picked a target, then handed it back beside the live page: make this look like that. I still had to keep the decision and check what shipped.

Agent Approval Workflow and the Genesis of Mergepath

The agents knew the review rule and still pushed straight to main. I added branch rules, reviewer identities, and automated outside review to make the process harder to skip. Three weeks of failures became the system behind Mergepath, with each control's limits spelled out.

Six PRs, One Bug: What AI Agents Actually Get Wrong

My billing app showed different formatting in the editor, preview, and sent email. After six PRs, I gave the next agent a brief that required an audit before more code. The fix brought Preview and the test email together, but didn't reach the recipient's invoice.

Two Blues, One Composition: How a Design Critique Became a Forensics Exercise

Claude found two blues in my Mondrian-inspired projects page. I could defend both sources; the page still looked wrong. Sampling two painting reproductions helped me choose a palette rule, and showed which of the model's numbers had no source.

How Making a Page Responsive Led to a Full Astro Site Implementation

Fixing a mobile bug put me face to face with a blog generator that couldn't reproduce its own output. Four hours later, an Astro scaffold merged. I chose a build chain to make publishing practical, knowing it would bring maintenance work of its own.