Dashboard →

Why I Built AutoFormFiller: Killing Repetitive Forms

I spent three weeks applying for jobs and internships. After the thirtieth application I had typed my name, email, phone number, and "describe yourself in 100 words" into boxes so many times that I started making typos on my own name. Something had to change.

The Pattern

Most application forms are structurally identical. Name, contact info, work history, education, a free-text box for a cover letter or summary. The data is the same every time. Only the boxes change — slightly different field IDs, different placeholder text, different page layouts. An AI just needs to understand the intent behind each field.

Architecture

AutoFormFiller is split into two parts: a Chrome extension that runs in the browser, and a Python Flask backend that handles all the AI logic.

  • Chrome Extension — sidebar UI built with vanilla JS; reads form fields from the DOM and sends them to the backend
  • Flask API — receives the field list, calls OpenAI to map the user's profile data to field values, returns a fill-map JSON
  • Profile store — user fills their data once in extension settings; it is stored locally and sent with each request
  • DOM injection — the extension sets field values and fires synthetic input events so frameworks like React detect the change

The Prompt Design

The backend prompt includes the full list of field labels, placeholder hints, and surrounding DOM context. OpenAI returns a structured JSON object mapping field identifiers to suggested fill values. The extension iterates the map and sets each matching element.

Edge cases were plentiful: radio buttons, checkboxes, contenteditable divs used as text inputs, and multi-step forms that render new fields after a button click. Each required its own injection handler.

Result

A 10-field form that previously took 4–5 minutes now takes about 8 seconds — one click triggers the scan, a 2-second API call maps the fields, and the extension fills everything. Longer cover-letter fields still need a manual review pass, but the base content is drafted automatically.

AutoFormFiller is part of the MLEbotics monorepo. The Chrome extension can be loaded unpacked from the extension/ directory in Developer Mode.

Comments

Leave a comment — no account needed.