JobApp
A semi-automated job-application pipeline with an AI résumé tailor
Scrapes LinkedIn, Indeed, Naukri, Greenhouse and Workday, scores each job against my profile, rewrites a LaTeX résumé and cover letter per job with an LLM, and fills application forms. It's all driven from a Chrome-extension dashboard.
- 5 job portals
- spaCy skill scoring
- LLM résumé per job
- 7-tab extension UI
§1
The problem
Applying to jobs is repetitive: find postings, judge fit, tailor a résumé, write a cover letter, and fill the same form fields again and again on every portal.
§2
My role
Sole developer: scrapers, matching engine, LLM résumé and cover-letter generation, form-filling engine, REST API and the extension dashboard.
§3
Architecture
§4
Key decisions
D/01
Human in the loop
Scraped jobs land in a dashboard and I pick what to apply to. Automation fills forms; it doesn't spray applications.
D/02
Weighted skill matching
spaCy NER scoring weighted 70% technical and 30% soft skills, with exact, synonym and related-match breakdowns per job.
D/03
Answers from cheapest source first
Form answers resolve from config, then a DB cache of past answers, then the LLM, so repeat questions cost nothing.
D/04
LaTeX as the résumé source
A master LaTeX résumé is rewritten per job description and compiled to PDF; the system degrades gracefully if LaTeX is missing.
§5
Challenges
- Registration walls: detects them, auto-creates portal accounts and captures OTPs from email.
- Multi-user JWT auth with bcrypt and access/refresh token pairs, plus interview reminders over email and Telegram 60 minutes before.
§6
Stack
- Python
- Flask
- SQLAlchemy
- Selenium
- spaCy
- OpenRouter LLM
- LaTeX
- Chrome extension
Next case study
IMS
Incident management that collapses alert storms into one incident