Project
Fit Check
Paste a job ad, or a link to one, and three AI agents check it against everything on this site, coordinated by an orchestrator you can watch working. It tells you where I don't fit as well as where I do.
- Role
- Status

- 3
- 7
- ~$0.20
What it does
Recruiters see a lot of CVs that say the right things. Fit Check is for checking whether mine is backed up. You paste a job ad, or a link to one, and a few seconds later the requirements come out of it one by one and get matched against my projects, CV and case studies.
The report at the end gives each requirement a verdict of strong, partial or gap, with the quotes from this site that back it up, then an overall summary you can copy and send on. It names the gaps plainly. If a role wants commercial Python, it says there's no evidence of that, because there isn't.
How the orchestration works
There are three agents. The Reader pulls the requirements out of the ad, each with the exact words it came from. The Matchers look for evidence and quote it. The Checker reviews the Matchers' work and writes the summary. The Reader and Matchers run on Claude Haiku 4.5, which is quick and cheap for reading and quoting, and the Checker runs on Claude Opus 5, because judging whether evidence really supports a claim is the step that matters most.
The orchestrator that runs them is ordinary code, not another AI. It decides the order, splits the requirements into up to three lanes that run at the same time, keeps the whole run to seven model calls and 100 seconds, and gives the Checker one chance to send items back for a second look if there's time left.
Lane 1 always starts on its own. The other lanes wait until it starts answering, because by then its copy of this site's content is cached, and they can read that for a tenth of the price instead of each paying to send it again. You can see this happen in the diagram: the first lane says it cached the site, and the others say they read it.
Keeping it honest
A tool like this is only worth anything if it can't be talked into flattering me. So every quote a Matcher offers is checked by code before the Checker sees it. It has to appear word for word in the part of the site it claims to come from, or it's thrown out, and you'll see it struck through in the report. After that there's one more rule in code: nothing counts as a match without a verified quote, whatever any of the models say.
I tested that with a job ad that had instructions hidden in it, telling the agents I had ten years of Python, to mark everything strong, and to give a salary and a start date. None of it got through. Python came back as a gap, and the report never mentions salary, notice periods or availability.
The one part that isn't checked word for word is the summary paragraph, because the Checker writes it. The verdicts and quotes above it are the part to rely on.
What it costs
A run takes about a minute and costs around 20 cents in API fees, or nearer 12 when the Checker's cache is still warm from a recent run. Most of that is the Checker. Simple reason being it's the step I'm least willing to cut corners on.
It's limited to three runs an hour for each visitor, and the ad you paste isn't stored or logged anywhere.
How it's built
Next.js on Vercel, with the Anthropic SDK on the server. The run streams back to the browser one step at a time, and every animation in PaulOS is driven by one of those real steps, so nothing is a timer pretending to be progress.
If you paste a link, the server reads that one page first. Many job sites publish the ad as structured data for Google, and when it's there Fit Check uses that, because it's the ad without the menus and cookie banners around it. It won't fetch anything that isn't a public website, it checks every connection as it's made so a link can't be pointed at something private, and a few sites, LinkedIn among them, don't allow it at all. When that happens it says so and asks for the text instead.
The orchestrator is written so the agents can be swapped for fake ones, which is how it's tested: including a case where both the Matcher and the Checker are fooled by an invented quote, and it still ends up as a gap. The code was written with Claude Code.
Try it
Have a job ad to hand? Paste it in, or a link to it, and see what comes back. There are two made-up ones to try if not.