Upload your CV, apply with one click
AI Job-Application Agent
Drop in your CV and it goes looking for jobs that actually fit it, writes a cover letter tailored to each one, and lets you apply in a single click. I built it because job hunting felt like the same boring work over and over.
The problem
Job hunting is repetitive by design: read a posting, decide if you fit, rewrite the same cover letter, apply, repeat. The work is mechanical but takes real focus, so people either burn out or spray generic applications.
What I built
I designed a multi-agent pipeline (CrewAI) that turns a CV into applications. I built the CV parsing, the role-matching logic, the per-job cover-letter generation, and the FastAPI backend that ties it together and stores state in PostgreSQL.
Architecture
- User uploads a CV; a parsing step extracts skills, roles, and experience.
- A matching agent searches open positions and scores them against the CV.
- A writing agent drafts a cover letter tailored to each matched role.
- FastAPI orchestrates the crew; PostgreSQL stores CVs, matches, and drafts; Resend handles delivery.
Key decisions
Multi-agent split (CrewAI)
Separating match and write into distinct agents kept each prompt focused and made the pipeline easier to debug than one monolithic prompt.
Human-in-the-loop apply
The final "apply" is one click by the user, not fully autonomous — it keeps the person in control of what actually gets sent under their name.
Outcomes
- TODO: add a measurable result (e.g. "generates N tailored applications from one CV in under a minute").
Limitations
- Match quality depends on the job source coverage; niche roles are harder to surface.
- Cover letters still benefit from a quick human edit before sending.
What I learned
- Scoping each agent narrowly beat trying to make one agent do everything.
- Storing intermediate state (parsed CV, matches, drafts) made the system inspectable and much easier to improve.
Built with
Want to talk about building something like this? Get in touch or book a call.