A Selenium-based tool that parses your resume (PDF or DOCX) and automatically fills out job application forms — pausing when you need to handle logins, CAPTCHAs, or unknown fields.
- Opens the job application URL in a visible Chrome window
- Pauses so you can log in or solve any CAPTCHA
- Scans all form fields and fills them using data from your resume
- For any field it doesn't recognize, it asks you in the terminal and caches your answer
- Pauses for a final review before submitting
Unknown field answers are saved to answer_cache.json — so questions like "Are you authorized to work in the US?" are only asked once across all applications.
Requirements: Python 3.10+, Google Chrome installed
pip install -r requirements.txtpython automator.py "<job_application_url>" resume.pdfor with a DOCX:
python automator.py "<job_application_url>" resume.docx| Field | Source |
|---|---|
| First / Last / Full name | Resume header |
| Resume contact info | |
| Phone | Resume contact info |
| LinkedIn URL | Resume contact info |
| GitHub URL | Resume contact info |
| Summary / Objective | Resume summary section |
| Skills | Resume skills section |
| Education | Resume education section |
| Work experience | Resume experience section |
Fields not matched from the resume are asked interactively in the terminal and cached for future runs.
| File | Purpose |
|---|---|
automator.py |
Main script — Selenium driver and form-filling logic |
resume_parser.py |
Extracts structured data from PDF or DOCX |
field_mapper.py |
Maps form field labels/names to resume data |
answer_cache.py |
Reads/writes cached answers to unknown fields |
answer_cache.json |
Your saved answers (auto-created, git-ignored) |
answer_cache.jsonand your resume files are excluded from git via.gitignore- The browser window stays visible throughout — you stay in control
- The tool will not auto-submit without your confirmation