An open-source job-application agent
Your story is unique. AI helps you tell it — it doesn’t replace it.
It reads your resume once, reads the posting, and writes each answer out of things you have actually done — every claim underlined and traceable to the fact it came from. Where it would have to invent, it stops and asks you instead.
Free to use. MIT-licensed. It never submits anything on your behalf.

How it works
Read your resume once
Drop in a PDF or paste notes. It splits them into facts, each carrying the exact fragment of your own text it came from — delete a fact and the agent can no longer say it.
Read the posting honestly
Paste a link and every requirement gets a verdict against your facts — met, not met, unclear — and a read of how firmly it is worded. A firm no is said before you write four answers, not after.
Draft each answer, cited
Before a long answer it asks the positioning calls only you can make, with a recommendation already picked. Then it writes, and every factual sentence points at a fact. What it cannot ground becomes a question for you.
Tell us about a system you own.
I own the payments service at Northwind Logistics, which handles 12,000 requests a day at a 99.95% success rate. Last year I cut p99 checkout latency from 840ms to 210ms by batching ledger writes, and led the migration of 14 services from RabbitMQ to Kafka without a customer-visible incident.
Nothing without an underline is a claim about the candidate. Everything with one can be checked.
You review, paste, submit
Edit the answer until it is yours. It learns your voice from what you change. It never presses submit — you read it, you paste it, you send it.
What it looks like

Grounded drafting.
Underlined phrases are citations — select one and the fact behind it appears. What is not underlined is the agent’s own prose, and looks like it.
The clarify loop.
Before a long answer, the calls only you can make — each with a recommendation already picked, so the fast path is to glance and draft.


Hard gates, judged honestly.
Every requirement gets a verdict against your facts, a read of how firmly it is worded, and — when one is unmet — an apply-or-skip advisory.
The pipeline.
Where everything is, and what has gone quiet. Interviews still ahead sit above it and export to your calendar.

Four minutes, start to finish
The whole loop on the live app — profile, posting, a cited draft, and the interview brief that follows.

Questions people ask
Does it submit applications for me?
No. It writes with you; you read the answer, paste it into the form, and send it. An agent that presses submit on your behalf is not a partner — it is a liability with your name on it.
What does “cited” mean here?
Every factual sentence in a draft points at a fact from your own profile, and each fact carries the fragment of your resume or notes it came from. Select an underlined phrase and the source appears. Anything not underlined is the agent’s own prose, and looks like it.
What happens when it doesn’t know something?
It asks. If an answer needs a motivation, a date, or a preference that is not in your facts, the draft stops with a question for you rather than filling the gap with something plausible.
Which job sites work with a link?
Postings on Ashby, Greenhouse and Lever come in through their public job APIs. For anything else — LinkedIn included — paste the posting text; it is a first-class path, not a fallback.
Where is my data, and who can see it?
In your own account, under your own sign-in. The browser never talks to the database directly; every read and write goes through the server, which checks your identity first. Delete your account and everything under it goes with it.
Is it free? Is it open source?
Yes and yes. The live app is free to use; the code is MIT on GitHub, so you can read it, change it, or run your own.
Which model writes the drafts, and why should I trust it?
Gemini 3.8 Flash. After every draft, code — not the model — checks that the stated length is met, that every cited phrase appears verbatim, and that every citation names a fact you actually have. A draft that fails is refused, not smoothed over.
Does it learn how I write?
Each time you rewrite one of its sentences, the difference is distilled into a rule and applied to every later draft. You can read and delete those rules on your profile.