jager.io
All experiments

2 June 2026

AI-assisted frontend work that actually ships

Working notes from delivering a third of a product's frontend to a fixed launch date with an AI pair.

AI workflowsReactDelivery

Over 2025 and early 2026 I delivered roughly a third of a product's frontend ahead of its public launch, working to a date that didn't move. Most of that code was written with an AI assistant in the loop. These are the habits that made the difference between output I could ship and output I had to rewrite.

Give it the codebase's opinions, not just the task

The first week was rough because every component came back in a slightly different dialect. The fix was a short project file that states the conventions: the component library in use, how data is fetched, how errors surface, where types live, what a finished feature includes. Once the assistant reads that before every task, the drift mostly stops.

Work in cards, not epics

I run a kanban with one card in progress and a hard cap of about twenty minutes per card. If a card is bigger than that, it's split. This is a project management habit that turned out to be an AI habit too. Small, well-bounded asks produce reviewable diffs. Large asks produce plausible-looking code with a bug in the middle.

Review the diff, never the summary

The assistant's summary of what it changed is always confident and sometimes wrong. I read the diff, run the app, and click the thing. When something looks off, I ask it to explain the specific lines rather than the feature.

Keep a log of what went wrong

Every time the assistant produced something I couldn't ship, I wrote one line about why. Missing loading state. Ignored an existing utility. Invented a prop. After a fortnight the log was a checklist I pasted into the project file, and the same mistakes stopped recurring.

Let it do the boring parts fully

Where it excelled: translating a design into a first-pass component, wiring forms, writing tests for pure functions, refactoring for consistency across a dozen files. Where I stayed hands-on: anything touching state that crosses pages, performance, and the last ten percent of visual polish.

The net effect was speed without the usual quality tax, and a workflow the rest of the team adopted. The same approach carried straight into building my own iOS app afterwards.