Huntchyprove the premise
Part 1
The mechanism
Part 2
Test a real match
◆ Why we exist

Any LLM ranks the best CV.
Huntchy knows who this client says yes to.

Same role, same candidates. See what a raw LLM gives you — then the layer that only exists because Huntchy learns from real outcomes. Then test it on a match you already know the ending to.

The match illustrative
Senior Java Engineer — Banco Atlântico
€420–480/day · banking · 5+ yrs · Lisbon 2d/wk on-site
Candidate A
Best engineer. Clean Kafka, 7y. No banking. Wants €520/d. Remote-only.
Candidate B
6y Java/Spring. Two banking builds (SEPA, fraud). €450/d. Fine on-site.
Candidate C
Strong, but 3 roles in 4y. Wants €500/d.
A raw LLM
reads the text
Huntchy
reads the outcomes
◆ What ChatGPT / any LLM tells you
Candidate A — best match
Strongest profile: 7 years, cleanest architecture, deepest Kafka. Matches the senior bar and core stack best. B is a step below technically; C job-hops.
What it read: the job description + three CVs. That's all it has — the best engineer against the words on the page. What any recruiter gets free in 30 seconds.
◆ What Huntchy tells you
Candidate B — wins the submission
A is the better engineer. B is the one this client accepts. Submit A, you burn the slot; submit B, you close. Not the CV — what Banco Atlântico has actually done before.
▾ The layer beyond the LLM — three things only Huntchy has
Revealed client preference
Banco Atlântico rejected the last 3 sector-outsiders — stronger on paper than A. JD says "Java"; behaviour says "banking, non-negotiable."
from outcomes · not the CV
The rate that closes
Closes Senior Java at €420–480. A wants €520 — above every placement they've made. The best engineer dies on rate.
from 11 placements
Does the candidate accept the client
A is remote-only; role is 2d on-site. A declined two on-site roles already. A would likely say no anyway.
from candidate signal
◆ What actually happened

Client took B. Never interviewed A — passed at CV, "not enough banking." Huntchy's call, opposite of the LLM. Right because it learned from the last 11 times.

An LLM ranks against the job description.
Huntchy ranks against what this client has actually accepted.
That gap is the product — the one thing a better prompt can't copy.
◆ The honest test

Feed it a match you already know the ending to.

Pick a real role you worked where you know who the client chose — and why. The hard cases are best: where the client picked someone who wasn't the strongest on paper. If Huntchy's read matches what really happened, the premise holds.

Candidate A
Candidate B
Candidate C · optional
What you know about this client (the layer-2 fuel)

This is the part an LLM never has. What does this client actually accept or reject, beyond the job description? Rate ceiling? Domain non-negotiables? Past rejections?

Reading the match against what you know of the client
◆ Huntchy's read

Did the layer earn its keep?

?
Did it match what really happened?
Reveal your outcome above — did Huntchy pick who the client picked?
?
Did it see something the CV alone didn't?
The "why" — was it a reason that wasn't in the job description?
?
Would a raw LLM have missed it?
If ChatGPT would've said the same, the layer isn't earning yet. If it'd have picked wrong — that's the moat.
If it called your real ending right — the premise is real, with your data, not mine.
If it missed — you just learned exactly where the layer needs work. Cheap. Today.
Live. callHuntchy() posts to a Netlify Function (netlify/functions/huntchy.js) that calls Claude with the layer-2 prompt — weighing revealed preference, rate ceiling and two-sided fit above raw CV strength, and marking infer vs. read. The API key stays server-side. Run with netlify dev (see README).
Part 1 sells the mechanism · Part 2 tests it on your real data.
Huntchy assists, never decides. It shows the fit and what to confirm, never who to cut.