Human-in-the-Loop Job Automation
Automation should remove repetition without removing human responsibility.
ResultA working, review-first workflow validated against modern ATS forms.
- Role
- System design, product decisions, and implementation
- Period
- 2026
- Context
- Personal workflow tooling
- Publication status
- Independent work
At a glance
Automation should remove repetition without removing human responsibility.
Designed and built a review-first application assistant across the browser extension, local bridge, MCP, and Playwright, including resilient field lookup and explicit human submission.
A working, review-first workflow validated against modern ATS forms.
The choice behind the implementation.
- Challenge
- Removing repetitive form work could also remove the human judgment required before an application is submitted.
- Decision
- Automate inspection, mapping, and drafting while preserving a visible review state and explicit human submission.
- Trade-off
- The workflow is slower than unsupervised submission, but responsibility and access-control boundaries remain clear.
The problem
Job application forms repeat the same factual work while presenting it through inconsistent labels, custom controls, generated identifiers, and different ATS conventions. The easy answer is a bot that fills and submits everything. That was deliberately rejected.
The useful system needed to accelerate the repetitive parts while preserving a clear human decision at the end.
The safety boundary is a product feature: prepare the draft, expose uncertainty, and stop before submit.
System shape
- 01Application URL
A user selects a real job form.
- 02Field extraction
The browser reads labels, types, constraints, and stable identifiers.
- 03Structured mapping
A model maps known professional facts and flags uncertainty.
- 04Guarded actions
Small action batches fill safe fields and attach the selected résumé.
- 05Review state
Visual markers separate completed fields from manual attention.
- 06Human submission
The system stops. The user verifies and submits explicitly.
Decision 01: two execution paths, one contract
The browser companion works inside an existing Chrome session through a Manifest V3 extension and local WebSocket bridge. A separate MCP service can run Playwright in a visible browser. Both paths use the same product rule: inspect, map, fill, review.
Decision 02: selectors that survive generated IDs
Some ATS pages generate identifiers that begin with digits or contain characters with special CSS meaning. Feeding those strings into querySelector can produce invalid-selector exceptions even when the element exists.
The resilient lookup sequence uses document.getElementById first, then an exact [id="…"] attribute selector with safely quoted input. Semantic fallbacks are used only after direct identity lookup fails.
Decision 03: work with the service worker
Manifest V3 service workers can become inactive during long model calls. A small heartbeat keeps the local bridge state observable, while actions are divided into micro-batches so large forms do not exceed the command timeout.
This is not an attempt to keep uncontrolled automation running forever. It is bounded coordination for a user-visible task.
Guardrails
- Unknown or open-ended questions remain unfilled and are labeled for review.
- CAPTCHA and access-control challenges trigger a handoff rather than a bypass attempt.
- Rate limiting reduces repeated traffic to the same domain.
- Application history prevents accidental duplicate work.
- No submission occurs without a separate human action.
What remains imperfect
Every ATS can introduce new custom controls. The system therefore treats field discovery as fallible, preserves an audit record, and makes uncertainty visible instead of pretending that arbitrary forms can be automated perfectly.
How application assistance stays human-owned.
The system stops here. Submission remains a human action.
Source publication remains deliberate.
This is independent work. Public links remain opt-in until repository history, documentation, licensing, secrets, and reproducibility have been reviewed.