Case study · Personal tool
AppFill
Every job application asks for the same name, email, links and yes-or-no answers, in a slightly different form each time. I designed and built a Chrome extension that fills them from one right-click, and outlines whatever it can't answer so nothing gets missed.
The problem
Same answers, every application
Greenhouse, Lever, Ashby and Workday all want name, email, phone and LinkedIn. Then they ask what Chrome's built-in autofill never touches: are you authorized to work here, will you need sponsorship, how many years of experience, why this company.
Most of my time on each application went to retyping answers I had already given somewhere else. The parts that deserve attention, choosing the right portfolio pieces and writing a note to the hiring team, got whatever time was left.
The core pattern
Start from the right-click
Autofill is something you reach for in the middle of a page, so it lives in the menu that's already under your hand. There's no toolbar popup to open and nothing to configure per site. The same menu works inside the embedded application frames many company career pages use.
- Fill blanks, never overwrite. A page fill only touches empty fields, so running it twice is harmless and anything I typed stays put.
- Show the gaps. Fields it can't place get a dashed amber outline instead of a best guess. Green means done, amber means mine to do.
- Don't agree on my behalf. It never ticks a checkbox from a guess, so consent and privacy boxes stay my decision. Password and file fields are skipped entirely.
How it reads a field
Every input leaves clues
Application forms are built by different teams on different platforms, so no single attribute is reliable. A field might have a proper label, only placeholder text, or just a developer name like job_application[first_name]. AppFill collects every clue, turns them into plain words, and checks them against 31 patterns for names, contact details, links, work history and the standard yes-or-no questions.
For each empty field it checks four sources in order and stops at the first answer: answers saved for this site, the field's own autocomplete hint, my custom answers, then the built-in patterns. Dropdowns get one more step, since a profile that says OR has to match a form that says Oregon.
Remember this site
Finish once by hand, then never again
Some questions belong to one platform or one company: work arrangement, pronouns, how you heard about the role. Instead of guessing, AppFill outlines them. I answer them once, right-click and choose Remember my answers on this site.
Answers are saved per host, not per company. Most companies run their applications on the same few platforms, so answers saved on one Greenhouse posting fill the next Greenhouse posting too.
One field at a time
When the guess is wrong, point at the field
Right-clicking inside a field adds Fill this field with…, a submenu of every saved value with a short preview. It covers fields with labels too odd to match, and it replaces whatever is already there, because pointing at one field is a clear instruction. The submenu rebuilds itself from the profile, so empty entries never show up as choices.
Settings
A form for filling forms
The settings page is itself a form: personal details, address, links, work and education, and four standard yes-or-no questions. Below those come custom answers for anything the profile doesn't cover, a list of remembered sites, and export and import for moving to another computer. It saves as you type.
Custom answers match on a few words the question would contain. "Why do you want, why this company" catches most versions of the question without a rule for each.
Testing
Tested in a real browser
I loaded the extension into Chromium and ran it against a Greenhouse-style form with text fields, dropdowns, two radio questions, a long-answer box, a consent checkbox and a password field.
- 13 of 14 fields filled on the first pass, with no saved answers.
- 15 of 15 filled after remembering the site once, including the dropdown and the checkbox.
- 0 password, file or unsaved checkbox fields touched.
Privacy
Everything stays on this computer
An autofill tool holds exactly the details you'd least want leaking. The profile, custom answers and remembered sites live in the browser's local extension storage. Nothing is synced, sent or logged, and export and import cover moving to a new machine.
Process
Designed in conversation, tested the same morning
I built AppFill with Claude in one session. I set the behavior: where the menu lives, what it may and may not touch, how gaps are shown. Claude wrote the code, loaded the extension into a headless browser, and ran it against a sample application form so every rule could be checked against a real page.
Reviewing the screenshots from those test runs is where the one bug turned up, before the extension was ever used on a real application.
Revisions
What changed since launch
Fixes
- On radio questions, the green highlight landed on the first option instead of the one that was selected. It now outlines the checked option.
What's next
Things to improve
- Custom dropdowns. Workday and some type-to-search pickers aren't real dropdowns, so AppFill outlines them instead of filling them. An adapter that opens each picker and selects the matching option would close the biggest gap.
- Resume uploads. Browsers don't let extensions attach files, so the resume stays a manual step. The notice could at least remind me when a page has an empty upload field.
- Keyboard shortcut. Everything starts from the right-click today. One key to fill the page would suit applications I complete without touching the mouse.
- More than one profile. Full-time and freelance applications want different titles, links and rates. Switching profiles from the menu would cover both.
Available for work