Taj Malnas.
  • Work
  • Architectures
  • Lab
  • Experience
  • Contact
3D world

↑↓ to move · enter to open · esc to close

Ask my agent

© Tajjuddin Malnas · built with Next.js, three.js and Remotion

GitHub · LinkedIn · X

← Lab

Experiment  /  23 Sep 2026

FormPilot: a form filler that decides instead of generating

A Chrome extension that fills any web form from a profile saved on your device. A decision model picks which value goes in which field. Nothing is generated and nothing is submitted for you.

Filling a form is a decision problem. Every field has a small set of possible answers that already exist in your profile. The job is to pick the right one, which is what a decision model is for.

How it works

  • You save a profile locally, once.
  • On any page with a form, one click or Alt+Shift+F fills it.
  • Jev decides in two rounds: first which profile key fits each field, then which exact option or stored answer matches it.
  • Each decision passes a confidence gate before anything is written.

You can see how sure it was

Every field gets a coloured outline after a fill.

  • Green: filled confidently.
  • Yellow: filled, but check it.
  • Grey: left empty, needs you.
  • Blue: already had a value and was left alone.

Nothing is ever auto-submitted. You review and submit yourself, and Undo reverts the whole fill.

The parts that are plain code

Some values are computed, never decided by the model: full name, phone formats, date of birth and age, one-line address, most recent education. A model should not be asked to do string formatting.

What made it hard

  • Large forms. A 30 to 40 field form with a rich profile can exceed the per-request token limit. FormPilot batches by estimated token size and splits into as many parallel calls as needed.
  • Framework forms. Values are set with native setters and real events so React, Vue and Angular forms register them.
  • Iframes. It works inside frames on the same or a different origin.
See the code on GitHub