Own productInternal
An agent that screens thousands of adverts and drafts only what's worth sending
Built and run on a real job search. It filters and scores adverts against a master profile, drafts tailored CVs and letters, and never submits anything without approval.
- Industry
- Recruitment and HR
- What it shows
- AI agents, Document generation, Human in the loop
- Year
- 2026
- Status
- Internal
In numbers
- adverts tracked since 10 July 2026
- 13,462
- scored by Claude, 0 to 100, from the full advert
- 10,096
- cleared the 60-point bar for a tailored CV
- 349
- applications sent, each after the person’s go-ahead
- 316
Figures come from the project’s own files and records.
What changes
The steps people did by hand, and the route the work takes now.
New adverts appear across job boards
Before
- Read every advert
- Decide if it fits
- Rewrite the CV around it
- Write a cover letter
With AI
- Rules filter and Claude scores the rest
- Tailored CV and letter drafted
- You approve each one
Only strong fits go out, each one tailored
The problem
Applying well is slow: read the advert, decide if it fits, rewrite the CV around it, write a letter. Applying fast turns into spam that helps nobody. The goal was an agent that does the reading and drafting at volume while a person keeps every decision that matters.
What we built
An agent that runs inside Claude and works through each day’s adverts. It collects them, throws out the obvious misfits with plain rules, scores what’s left against a detailed master profile, and drafts a tailored CV and letter only for the adverts that clear the bar. Everything lands in a tracker, and nothing is sent until a person approves it.
Rules first, AI second
Stale, off-location, underpaid and duplicate adverts are dropped at intake, before they even reach the tracker: in the logged runs alone, at least 7,163 by rule and 3,268 as duplicates. Of the 13,462 adverts the tracker holds, 2,148 more were rejected by a rule before any model scored them. That keeps the AI’s effort, and the cost, on the adverts where judgement actually matters, and it makes the agent’s behaviour easy to explain: every rule rejection has a named reason.
Inside a run
Open the system map of every part, step through the funnel with the real counts, filter a sample queue, and watch a draft go through the checks before anyone is asked for a yes.
Interactive system map
Every part of JobAgent, and how they connect
23 parts and 8 journeys, from an advert on a job board to a verified draft and the person's yes. Checked against the code and the agent database on 12 October 2026.
Play 8 journeys, or click any of its 23 parts.
- adverts tracked since 10 July 2026
- 13,462
- scored by Claude from the full advert
- 10,096
- applications sent, each after the person’s go-ahead
- 316
Rules first, before anything is stored
- A title on the reject list
- Posted over 14 days ago
- Closing date has passed
- On-site outside the allowed places
- Pay below the floor
- Dropped by a plain ruleat least 7,163
- Duplicates of a stored advertat least 3,268
13,462 adverts, each with a status
- found
- scored
- cv_generated
- verified
- applied
- Sent, only when a person asks and says yes.
- blocked_login
- A sign-in wall, handed back to a person.
- rejected
- Out, by a named rule or a low score.
- interview
- The employer replied with an interview.
- closed
- Finished: filled, withdrawn or declined.
2,148 rejected before any model score
- 2,148 16%
- rejected by rule, no model run
- 10,096 75%
- scored by Claude
One score, 0 to 100, from the full advert
- 60 to 100strong or worth applying, gets a CV
- 3493%
- 50 to 59review list, a person decides
- 5726%
- Under 50rejected
- 9,17591%
349 cleared the bar, then independent checks
- Gate APage count, layout and personal data, and at least 75% of the advert’s must-have keywords.
- GroundingFlags any number or claim in the CV that the master profile does not contain.
- Gate BThe person’s own rules: dashes, names that must never appear, contact details, and how past employers are shown.
- Re-scoreA reviewer that did not write the CV scores it again. Below 60 sends it back to review.
316 sent, each after a person said yes
- Applications sent, each after the person’s go-ahead
- 316
- Handed back at a sign-in wall
- 112
AI Product LeadBoard AStrongverifiedBoard AFit score 86Strongverified
Why this scoreOwns an AI product from discovery to launch, which matches two shipped agent products in the profile. Asks for stakeholder work across product and engineering, covered in depth.Next: CV and letter passed every check, waiting for a go-aheadGaps- Mentions a regulated sector the profile has no direct experience of.
Product ManagerBoard BWorth applyingcv_generatedBoard BFit score 78Worth applyingcv_generated
Why this scoreRoadmap ownership, discovery interviews and analytics all appear in the profile with dates. The product is B2B software, close to past roles.Next: CV drafted, separate check not run yetGaps- Asks for five years in the role; the profile shows four as product manager.
- Prefers a named analytics tool the profile does not list.
Digital Transformation LeadBoard CWorth applyingverifiedBoard CFit score 71Worth applyingverified
Why this scoreProcess redesign and rollout across several teams fit the profile well. Change management is explicit in the advert and in two past roles.Next: Passed on the second retry, waiting for a go-aheadGaps- The advert is vague on budget responsibility.
Project ManagerBoard CWorth applyingblocked_loginBoard CFit score 68Worth applyingblocked_login
Why this scoreDelivery of cross-team projects with clear milestones, a good match. The person said yes, but the application page asked for an account, so Claude stopped typing and handed it back.Next: Sign-in page when applying, handed to the personGaps- Industry certification preferred, not in the profile.
Data LeadBoard AWorth applyingappliedBoard AFit score 64Worth applyingapplied
Why this scoreLeads a small data team and owns reporting. The profile covers dashboards, data quality and stakeholder reporting, with less on hands-on engineering.Next: Sent after a person said yesGaps- Wants recent hands-on pipeline engineering.
- Team size is larger than any the profile has led.
Product OwnerBoard BReviewscoredBoard BFit score 57Reviewscored
Why this scoreBacklog ownership fits, but the role sits inside one delivery team with little room for strategy, which the profile leans towards.Next: Review list, a person decidesGaps- Narrower scope than recent roles.
- Asks for a scrum certificate.
Business AnalystBoard CReviewscoredBoard CFit score 52Reviewscored
Why this scoreRequirements and process mapping appear in the profile, but the advert is mostly documentation for a single system migration.Next: Review list, a person decidesGaps- Heavy on one vendor platform the profile does not mention.
Head of InnovationBoard ARejectedrejectedBoard AFit score 44Rejectedrejected
Why this scoreThe title fits, but the full advert describes a sales role: pipeline targets, client pitching and a commission plan. This is why the score reads the whole advert, never the title.Next: Under 50, so the score band rejects it. No CV draftedGaps- Sales quota and new business targets.
- No product or delivery ownership.
Operations ManagerBoard BNot scoredrejectedBoard Bno scoreNot scoredrejected
Why it was rejectedFive days a week on site, in a city outside the search area. A plain rule rejected it, so no model was run.Next: Rule: on-site in another cityModelNot run. A rule decided, with its reason on record.Strategy ConsultantBoard ANot scoredrejectedBoard Ano scoreNot scoredrejected
Why it was rejectedThe advertised range tops out under the salary floor. A plain rule rejected it, so no model was run.Next: Rule: salary below the floorModelNot run. A rule decided, with its reason on record.
CV · AI Product Lead
- Attempts
- 1 of 3
- Status now
- verified
- Attempt 112 OctAll 10 checks passedverifiedGate AStructure and keywords
- Page countPassed: 2 pages
- Layout, sections in the standard orderPassed: passed
- Personal data as the rules allowPassed: passed
- Advert’s must-have keywords covered, needs 75%Passed: 10 of 12, 83%
GroundingEvery number and claim against the master profile- Every number and claim found in the master profilePassed: 9 of 9
Gate BThe person’s own rules- No em dashesPassed: none
- No names that must never appearPassed: none
- Contact details match the profilePassed: match
- Past employers shown as the rules sayPassed: passed
Re-scoreA reviewer that did not write the CV- Independent re-score, needs 60Passed: 88
CV · Digital Transformation Lead
- Attempts
- 3 of 3
- Status now
- verified
- Attempt 112 OctFailed: Groundingcv_generatedCaught in the draftLed a process rollout that made onboarding 40% faster across three teams.Fix note, 12 Oct: “40% faster” is not in the master profile. Remove it or use a figure the profile supports.
- Grounding: Every number and claim found in the master profileFailed: 7 of 8
9 other checks passed
- Gate A: Page countPassed: 2 pages
- Gate A: Layout, sections in the standard orderPassed: passed
- Gate A: Personal data as the rules allowPassed: passed
- Gate A: Advert’s must-have keywords covered, needs 75%Passed: 10 of 13, 77%
- Gate B: No em dashesPassed: none
- Gate B: No names that must never appearPassed: none
- Gate B: Contact details match the profilePassed: match
- Gate B: Past employers shown as the rules sayPassed: passed
- Re-score: Independent re-score, needs 60Passed: 73
- Retry 112 OctFailed: Gate Acv_generatedFix note, 12 Oct: Keyword coverage fell to 69% when the line was rewritten. Bring back “change management”, which the profile supports.
- Gate A: Advert’s must-have keywords covered, needs 75%Failed: 9 of 13, 69%
9 other checks passed
- Gate A: Page countPassed: 2 pages
- Gate A: Layout, sections in the standard orderPassed: passed
- Gate A: Personal data as the rules allowPassed: passed
- Grounding: Every number and claim found in the master profilePassed: 7 of 7
- Gate B: No em dashesPassed: none
- Gate B: No names that must never appearPassed: none
- Gate B: Contact details match the profilePassed: match
- Gate B: Past employers shown as the rules sayPassed: passed
- Re-score: Independent re-score, needs 60Passed: 68
- Retry 212 OctAll 10 checks passedverifiedFailed before, passing now
- Gate A: Advert’s must-have keywords covered, needs 75%Passed: 11 of 13, 85%
- Grounding: Every number and claim found in the master profilePassed: 7 of 7
The other checks
- Gate A: Page countPassed: 2 pages
- Gate A: Layout, sections in the standard orderPassed: passed
- Gate A: Personal data as the rules allowPassed: passed
- Gate B: No em dashesPassed: none
- Gate B: No names that must never appearPassed: none
- Gate B: Contact details match the profilePassed: match
- Gate B: Past employers shown as the rules sayPassed: passed
- Re-score: Independent re-score, needs 60Passed: 72
What it shows
High-volume document work follows the same shape in most companies: tenders, RFP answers, supplier questionnaires, grant applications. Filter cheaply, let AI draft where judgement is needed, check the draft independently, and keep a person on the final yes.
Under the hood
- Claude
- Claude in Chrome
- Python
- SQLite
- python-docx
- LibreOffice
01Collect
Adverts are gathered from four job boards and employer sites, and read in the person’s own browser.
02Filter
Plain rules drop adverts older than 14 days, past their closing date, with unwanted titles, on site outside the allowed places or below a pay floor. A unique key catches duplicates. No model runs on any of them.
03Score
Claude scores each remaining advert from 0 to 100 against a master profile, from the full advert and never the title alone, matching each requirement to evidence before it picks a score. Plain code sets the band: 60 and above gets a CV; 50 to 59 goes to the person.
04Draft
A tailored, ATS-friendly CV and, only where it helps, a cover letter, edited to remove AI-sounding phrasing.
05Verify
Plain-code gates require 75% of the advert's must-have keywords and flag any number or claim not in the master profile. A reviewer that did not write the CV scores it again, and below 60 it goes back. A draft gets two retries, then a person decides.
06Approve and track
Nothing is submitted without a yes. Every advert, draft and outcome is tracked, and sign-in walls are handed back to a person.