You describe the one judgment only you understand. The AI builds the tool around it. No code, one afternoon, and the candidate scorer is the proof.
Built July 23, 2026 · one working session · for Revenue Hire · directed by a non-developer
Revenue Hire is a 13-year sales recruiting firm with a team of recruiters. The whole business rests on one judgment: can this person actually sell. Get it right, the client hires and pays. Get it wrong, everyone wastes weeks.
It got done. It just took a lot of manual checking, and a lot of time.
The AI couldn't be trusted, so everything got checked by hand. The team had a GPT bot for interview notes and a ChatGPT project for scoring. But even with detailed instructions, the scoring came back too generous. So every candidate got gone over by hand against the rubric. That is where the hours went.
It was slow, and it repeated every week. Prepare the notes, review them, verify the fit against the rubric, candidate after candidate after candidate. Boring, mundane, and it never stopped.
The rubric changes with the client. It gets refined on the client's own calls, meeting by meeting. Keeping the check current was one more thing to stay on top of, and she had to know which version anyone was graded against.
This is not a chatbot. Not a prompt. Not a no-code template with a ceiling. It is real software, a real plugin, running on a real website platform, doing the single most important job in a 13-year business.
The thing that used to require a team now answers to whoever can describe it clearly. If you know your business, you can build the tool for it. That is the magic, and it is real.
In a typical week Revenue Hire runs about 40 phone screens, and roughly 40 percent move forward. That is dozens of candidate write-ups a week, each one prepared, reviewed, and checked against the client's rubric, often passing through more than one person.
Prepare the notes. Go over them. Verify the candidate fits the criteria and the rubric. Boring, mundane, repetitive, and spread across a bot, a scoring project, and a second set of hands.
8 to 60 seconds. One place. One objective standard. The write-up comes back done and client-ready, every time the same way.
That was the worst kind of work. Now it is easy, and honestly kind of fun. The hours it used to eat go back to what actually wins in recruiting, and in most businesses: relationships, not admin.
Volume figures are Revenue Hire's typical week, not a measured result. The 8-to-60-second speed is verified on the live tool.
Around $12,000, over 3 to 6 weeks. Idea to spec, the build, the AI integration, testing, and the back and forth.
$25,000 to $45,000 or more, over 2 to 4 months. Discovery, project management, QA, margin, and you wait behind their clients.
$500 to $2,000 a month for every change after launch. The spec gets frozen, and you pay against it.
One working session. About 4 cents a candidate. No developer invoice. It was changed seven times in one afternoon. With a developer, every one of those is an email, a change order, and a wait. The expensive part was never the code. It was the judgment, and that never left your head.
Cost figures are market estimates, not a quote from anyone specific.
Yes, WordPress can run a tool like this. It calls Claude over the internet, it has a database, logins, and a plugin system. Developers build AI features on WordPress every day. So the tool itself is very doable there.
A site that can use AI. The tool runs. But building it and changing it still means a developer clicking around and writing code.
A site an AI can build. You changed this thing seven times by talking. Each one shipped live in minutes, because the platform is made to be operated by an AI, conversationally. That is what AI-native actually means.
One is a site that can use AI. The other is a site an AI can build. You spent today on the second kind. That is why it felt like magic instead of a project.
Companies deliberately bury salespeople behind non-obvious titles so recruiters can't poach them. Olga's line: they'll call it an "account manager" to hide them. So a title tells you almost nothing. The tool reconstructs the actual job from the duties. A weird title is a reason to dig, never to reject. A clean "Senior Account Executive" is not a reason to clear.
The most quotable idea in the whole buildA "Score" button on a private page of the company's own website. No more bouncing between a notes bot, a scoring project, and a second person.
A fast go or no-go pre-screen, before you book the phone screen. Should we even spend the time. Decided automatically.
After the screen, a full score against the 75 percent bar plus the complete client package. Decided automatically by whether a transcript is attached.
Drops the package straight into an email, in the exact format the firm already sends clients.
A branded Revenue Hire evaluation, candidate name and rubric version in the header, ready to attach.
The scoring already happened, so making the file is just formatting a result you already have. No second AI call. Regenerate it as many times as you want. The resume and the transcript can both be uploaded (PDF, Word, or plain text) or pasted.
Prove the brain before building anything. The rubric was tested against two real candidates the client had already ruled out. It rejected both at the gate, matching the client's real verdict.
Close the one hole. One rule let a stale seller sneak through on a recent sales title. Tightened, re-tested, now it stops them. Judge responsibilities, not titles, enforced.
Decide where it runs. A cloud agent, the always-on second AI, or the website itself. The deciding constraint was a worldwide team, so it has to be always on.
The pivot that matters: instant, not queued. The first version parked each candidate and waited on a poll. Olga's note was blunt: the whole point is instant. Rebuilt so the website scores the candidate itself, in the same click.
The website calls the AI directly. Wiring the platform's built-in AI was Chris's core code and off-limits. So a plugin was written that makes its own call to Claude. No waiting on the developer. When a platform says "wait for an engineer," check whether you can just call the AI yourself.
Make it real for real files. PDFs read natively, Word docs unzipped on the server, or pasted text. No fragile conversion step.
Multi-client and confidential. One tool, a dropdown, one rubric per client. Client names replaced with codes (P-1) so nobody is identifiable.
Polish from live use. The candidate name fills itself from the resume, the verdict badge got cleaned up, transcript upload and a free PDF export were added. All from actually using it.
claude-sonnet-4-6): the client's rubric as system prompt, the resume plus transcript as content.It's a page on your website, so it works like any website. Three recruiters in three countries can each open it and score candidates at the same time. Each Score click is its own independent request that makes its own AI call and writes its own result.
That's what opens the admin board. Mileza has one. Roxy, Keren, and Jem can be minted the same way whenever you want.
Two people clicking Score in the same split second could very rarely collide in the shared list. Low risk for a team this size. Easy to bulletproof later if it ever matters.
The earlier ChatGPT project inflated and wandered, even with detailed instructions. The fix was not a smarter model. It was structure: hard gates that run first, explicit weights, a stated pass bar, and a rule that every score carries its proof. Honesty comes from the frame you build, not the model's mood.
Every category score has to quote what the candidate actually said, not a template and not the resume. If the transcript doesn't support the score, the score comes down. That is why the output reads like a real recruiter wrote it.
A great hunter who sells only to the government can still be wrong for a role. The disqualifiers run first, in both modes. You don't score someone you should never send.
A two-minute queue is a batch job. A ten-second answer is a thinking partner you use in the flow of the work. Same components, different product. Making it instant was a product decision, not a technical one.
The single biggest unlock was refusing "wait for the developer" and having the site call the AI itself.
The reusable insight for any hiring, any vendor pick, any "is this the real thing" call. Reconstruct what something actually does before you trust what it's called.
A fake "Senior Account Executive" whose real duties were booking meetings. Disqualified, and it said the title is cosmetic, on its own.
A real candidate the client had passed on scored below the 75 bar, Hold, with the reasons laid out. It agreed with the human.
A fictional strong candidate scored Send, with the full client package built out, in about a minute.
Everything lives on the company's own website, in the plugin's private storage. Not a third-party app, not a personal machine. The board is admin-only, not public, not searchable. It keeps the most recent 300 candidates.
The one moment data leaves the site is the scoring call itself, when the resume and transcript go to Claude's API so it can read them. Anthropic does not train on API data.
The one piece left, by design, is keeping the brain fresh on its own. The next build is a skill that updates the rubric off the client's calls and pushes the new version automatically. Nobody has to remember to re-load the judgment.
The tool already prints which rubric version graded each candidate, on the result and under the dropdown. Once the rubric can refresh itself, you can still always see exactly which version made any given call. After that, the bigger integration is Loxo, so the score writes back onto the candidate's record where the resumes already live.
The engine. One PHP class, RevenueHire_Candidate_Scorer. Intake, the Claude call, verdict parsing, storage, email fallback.
The admin page. Plain HTML and JavaScript, no framework. Form, spinner, result cards, copy and PDF buttons.
The brain. About 7,162 characters of plain-text rubric. Stored as data, one per client. Editing it never touches code.
Chris did not build this one, and that's the point. He built PageMotor, the platform it runs on. This is a plugin that sits on top and never touches his core code. It's a standard PM_Plugin subclass using his hooks (settings(), ajax(), api()) and his options store. The obvious path, wiring his built-in AI, was off-limits, so the plugin makes its own call to Claude instead.
The board sends the submission to the site, gated by a shared board key checked with a constant-time compare (hash_equals).
The plugin loads that client's rubric as the system prompt. This is the judgment, in plain words.
It builds the user message: a short header, then the transcript, then the resume (PDF handed to Claude natively, Word unzipped server-side, text straight in).
One POST to api.anthropic.com/v1/messages. Claude reads the rubric plus the candidate and writes the whole package.
The plugin reads the score off the text, pulls the candidate's name, stamps the rubric version, writes it back onto the record, and renders it on the board.
claude-sonnet-4-6, swappable to Opus for sharper judgment.Candidate scoring was just Olga's version. Every business is full of the same thing: a repeated judgment call that eats time and lives in one person's head. Yours might be any of these.
Pick one. Here is how you turn it into a tool.
You didn't write the code. You knew the judgment, and you directed the AI to build the tool around it. That is what being irreplaceable in the AI age actually looks like.
Practical AI · The Candidate Scorer