- decision
Automate my own job hunt end-to-end rather than grinding applications by hand
- assumption: the belief that made me confident
Tailoring quality and volume are a leverage problem software can solve without lying
- confidence at the time
- 45% · medium
ResumeTailor
An AI pipeline that runs my job hunt: company and founder research, who to reach out to, a tailored resume, cover letter, and interview prep.
the call I made
what it looks like

- 1Every role gets a 0 to 100 fit score before I write a single word of an application.
- 2This one was triaged out in about thirty seconds. Most job descriptions should die here, not after an hour of tailoring.
- 3The pipeline tells me what needs me today, so I stop re-reading my own tracker to find out.

- 1A third of everything I looked at was rejected before any tailoring happened. That number is the entire argument for the triage gate.
- 2The pipeline reads itself back to me. This is the part no single application can tell you.
- 3It caught me claiming one thing and doing another. Revealed preference beats stated preference, even when both are mine.
what I did
I am user zero. This is not a portfolio piece that lives in a slide. It's the system I actually run my job hunt on, and being open about that is the point: it shows what I build for my own leverage when nobody assigns me the work.
The product decision that matters
The first version tailored everything I fed it. That was wrong: the scarce resource in a job hunt isn't tailoring capacity, it's judgment about where to spend effort. So the pipeline now leads with a fit-first triage gate: a 0-100 score, a verdict, and two or three one-line reasons, in about thirty seconds. Most job descriptions should die there. Only roles that clear the bar get the full run: tailored resume PDF with the same layout as my master resume, a changelog of every edit, cover letter, outreach messages, application answers, and interview prep notes.
Honesty as architecture
A tailoring system's failure mode is drift into fiction. ResumeTailor logs every change it makes to my resume in a per-application changelog, and anything that stretches beyond established fact is flagged and requires my explicit per-item confirmation before it ships. I designed the system so it can't quietly embellish. The constraint lives in the pipeline, not in my discipline.
What broke along the way
The Chrome extension's autofill hit IPv6-only ATS endpoints, the eval of "good tailoring" turned out to be much harder than generating it, and early triage verdicts were confidently wrong until the scoring rubric got grounded in my actual profile files rather than the model's general taste. The funnel analytics view exists because I kept lying to myself about my own pipeline. Revealed preference beats stated preference, even when both are mine.
what happened
48 tests, 16 applications shipped through the pipeline, fit-first triage gate live; interview-rate data still accumulating
▸ the full record: evidence, alternatives, risks, what I traded away
- context: the problem I was solving
Repeatedly customizing updates, coordinating across teams, communicating the same information to different stakeholders, and constantly monitoring multiple channels for the right opportunities created significant operational overhead.
- risks I named
- Automation could produce generic slop that reads worse than doing nothing
- Employers may read automation as inauthenticity
- how I'd know it worked
A fit verdict in ~30 seconds; a complete tailored kit per job description; an interview rate above my manual baseline
what I knowingly traded away
- Triage before tailoring: the expensive full run only fires on roles scoring above the bar, so the pipeline says "no" cheaply
- Files as the database: every application is a folder of readable markdown, greppable and versionable, instead of rows in a store I'd have to build UI to inspect
- Every resume change logged in a changelog, with any stretch claim flagged for my explicit per-item confirmation, so the system is structurally incapable of quiet embellishment
built with: Claude Code skill engine · Node.js + Express · Chrome extension (Greenhouse / Lever autofill) · Typst resume rendering · React dashboard