If you've ever filled out a dozen job application forms in a row, you know the special kind of tedium involved. This post is part of my ongoing "automation foundation for shipping personal projects at scale" series, continuing from Getting Claude Code and Codex to collaborate. This time I'm writing about a Chrome extension that fills out job application forms with one click, built so that no data is ever sent to a server — everything stays local. I'll walk through MV3, heuristic field inference, handling birth dates split across three fields, and more, following the code I actually wrote.

Why I Built It

One thing you notice as soon as you start job hunting is the mind-numbing repetition of entry forms. Every company asks for your name, address, and educational background in the same way. LastPass and Chrome's built-in autofill are strong on "the same form on the same site," but they're helpless against job application forms that span each company's wildly different systems (Mynavi, Rikunabi-family systems, each company's proprietary system). The name attributes of the fields are all over the place too, and it's not unusual to see sequential names like field_001.

Many off-the-shelf autofill tools send your profile to an external server, which means handing over your name, address, and birth date to a third party. Job hunting information is something I especially want to handle carefully, so I decided on a design where data is stored only in the browser's local storage and never leaves it.