← Back to blog

Building a job-hunting agent that isn't allowed to lie

TL;DR

_

Most "AI resume tailoring" tools solve the wrong problem: they make a resume that sounds better, not one that's true. JobHuntAgent is the system I actually use for my own job search, and the constraint I designed it around is that it is not allowed to invent anything.

WHAT'S DONE

It runs as a Claude Code agent against a locked resume template: same fonts, same layout, only the content changes per job description. A one-time onboarding interview builds the reusable base profile once, and every tailored resume after that pulls from real bullets, reordered and reframed for what a specific JD cares about, never fabricated. A verification pass checks the output before it's allowed to ship, and there's optional tracking through Telegram, Gmail, and a small web dashboard so nothing falls through the cracks between applying and hearing back.

THE ACTUAL HARD PART

Writing a resume-tailoring prompt is easy. Writing one that refuses to lie under pressure, when a JD explicitly names a skill you don't have, is the actual engineering problem. That constraint is what makes the system worth building instead of just asking an LLM to "improve" a resume.

WHAT IT DOES NOW

Since this post went up, most of the work has gone into the parts before and after the resume. Postings now come in from Gmail job alerts, a daily careers-page watchlist and a Telegram bot, and each one has to clear a location and language gate and a per-company cap before it reaches me. The approval dashboard on my phone refuses anything the database would refuse, so there is one rule and two places it is enforced.

Outreach is still drafts only. The send function raises an error, and every draft is checked for format before it is saved. An outcome tracker reads replies and only marks a result when the company, role and date all match.

The full feature list is on the catalogue page, and a scrubbed template is on GitHub.

WHAT'S NEXT

Turning "applied" into a real signal about what converts to interviews, and finding out whether a tailored resume actually beats a good base resume.

Resume →Email