Case Study - A simple notes form, three ways to lose data, shipped in about an hour
A private job search tracker where an AI agent finds roles and every application lives in one place.
- Client
- JobSeeker
- Year
- Service
- Senior web development, code review
The product
JobSeeker is a private, invite-only job search tracker. An AI scout agent searches for roles that match what I'm looking for, skips ones it has already seen, and adds new ones to a dashboard. From there I move each job through its status, keep notes, and track which version of my resume and cover letter went with each application. It's kept out of search engines on purpose.
One ticket, start to merged PR
The request was a form for adding and editing notes on a job. It opens in a side drawer, and it has dropdowns for picking which resume and cover letter version a note refers to.
- The ticket. I wrote the request with clear acceptance criteria: add and edit notes in a drawer, pick a resume and cover letter version from dropdowns, and save without leaving the page.
- The build. My AI coding tools built the form on its own branch and opened one pull request.
- Review, round one. Review found two races that could lose work. Opening another form in the middle of a save threw away the draft. Saving while a file was still uploading dropped the attached resume. The agents fixed both.
- Review, round two. The second pass checked the fixes themselves. It found that a retry safeguard added in round one could overwrite a different note, so that safeguard was taken out rather than patched.
- Human review and merge. I reviewed the final diff and merged.
1 hour 11 minutes from ticket to merged PR, including both review rounds.
What review caught
- Opening another form mid-save lost the draft.
- Saving during an upload dropped the attached resume.
- The first fix's retry safeguard could overwrite a different note, so it was removed.
A simple notes form, two review rounds, three ways to lose data caught, shipped in about an hour.
41 tickets done and 37 pull requests merged between October 1 and November 8, 2026.