We turn job descriptions into blueprints. Then we tell you that any system parsing résumés against a job description is the wrong system. Both are true — and the gap between them is the entire product.
The moment you treat the JD as the standard — the ruler you hold every candidate against — you inherit every defect of a document that was written in forty minutes by someone with six other things to do, mostly by copying the last one.
That is not a criticism of recruiters. It is a description of how requisitions actually get written, everywhere, in every market we operate in.
Written aspirationally, with no distinction between what's required, what's preferred, and what got included because it was in the previous version.
Shaped by internal grading, budget approvals, and whatever title the finance system will accept.
Written to attract applicants — which means it flatters the role and hedges the hard parts.
None of those three functions is specification. And yet the dominant architecture in this market — from legacy ATS keyword screens to the newest LLM-wrapper scoring tools — takes that document, extracts nouns, and matches them against a résumé.
In prose, "5+ years of Salesforce," "excellent communication skills," and "bachelor's degree preferred" are the same object: a line of text. The system can't tell a hard gate from a soft preference from decoration — because the document doesn't say. So it either rejects the strongest applicant for being four months short, or treats everything as a keyword. Same failure, friendlier interface.
Gate ≠ preference ≠ decorationA req written in 2023 and reopened in 2026 carries 2023's tool stack and 2023's assumptions. Nothing in the document knows that. A blueprint can be dated, versioned, and diffed against the current occupational baseline. Prose cannot.
No version. No diff.The JD says what someone thought to write down. Not the judgment calls, the stakeholder pressure, the domain fluency everyone assumes and nobody documents. A system that scores only against the JD is structurally blind to every requirement the author forgot — which, in real requisitions, is the majority of them.
Blind to the unwrittenA candidate who lists "Kubernetes" in a skills band and one who describes migrating a payments platform onto Kubernetes across two regions are the same match. The word and the proof are indistinguishable. The most expensive defect in the category — and the one keyword architectures cannot fix without becoming something else entirely.
The word ≠ the proofResolve the symbols. Enforce the types. Link the dependencies. Produce an artifact you can actually run — and actually inspect. A blueprint is the compiled form of a requisition.
In our pipeline the JD stops being prose and becomes a structured requirement graph. Every requirement is typed — gate, weighted criterion, or advisory. Skills are normalised against a resolver rather than string-matched, so "GCP," "Google Cloud Platform," and a certification number collapse to one node instead of three misses. Titles and certifications go through dedicated resolvers. The role is mapped to an occupational authority — O*NET, ANZSCO, PSOC — and to an internal grade band, so the system knows what a Level 6 engineer is, independent of what this document remembered to say. Each scoring dimension carries a citation anchor back to an external authority, so a score traces to a source rather than to a bullet point.
The evidence is in the résumé, grounded to a source span. Only this state can lift a dimension.
The candidate genuinely doesn't show it. Informs the read — but never penalised as if the system simply failed to look.
We couldn't read it. This blocks the composite rather than penalising the human — a machine failure never becomes a person's low score.
Determinism is pinned: extraction runs at temperature 0.0, greedy decode, with the model version frozen — so the same résumé yields the same reading, and every score is reproducible from frozen inputs.
This is the work a JD-parser can't do, because it has nothing to reason from but the prose it was handed. We start from the title and the market, and derive the requirement graph the requisition should have specified.
From the job title, we resolve the certifications that apply to it anywhere on earth — then flag the ones that are must-have versus nice-to-have, and separate vendor certs (AWS, Salesforce, Cisco, PMI) from statutory ones.
The same role needs a different skill mix in Manila, Sydney or London. We select the skills appropriate to the country you're hiring in — so the standard reflects the market, not a US template pasted worldwide.
Every skill carries an expected proficiency — Foundational · Working · Proficient · Advanced · Expert — set by the title and the seniority required. "Knows Python" is not a level. "Expert Python at staff seniority" is.
Out of all of it, we generate the exact hard and soft skills a résumé should evidence — so the search is for demonstrated capability, not for whichever nouns a hurried author happened to type.
The blueprint doesn't stop at scoring. It authors the interview probes that test the specific gaps and strengths this candidate shows against this role — so the panel walks in with questions that matter.
Your culture pillars are folded in per customer, so culture fit is measured against your stated values — never a generic "team player" keyword.
That second layer asks a question the job description is not qualified to answer: what does this role demand in this market, whatever this document remembered to write down? A system that parses against the JD has no mechanism for it. Its ceiling is the quality of the prose it was handed. If the req is thin, the scoring is thin. If the req inflates credentials — and credential inflation is the norm, not the exception — the scoring inflates with it, and the organisation manufactures its own talent shortage, then complains about it.
The role-normative layer is also what makes the output defensible. We publish three bands and no reject state — because "does not match this document" is not a finding about a human being. It is a finding about a document.
Strong alignment and role-normative fit. Move now.
Real capability with visible, nameable gaps. Worth the conversation.
Not for this role today — kept, not discarded. No human is ever "rejected" by the machine.
Every JD-parser gives you a number and a keyword list. Here is what a compiled, evidence-backed, citation-anchored evaluation actually produces — on a single candidate, on a single screen. Read the inventory and ask which of these a keyword engine could generate at all.
Skills Assessments carry both internal engine evidence and self-reported development tests. Data Fusion & Provenance shows exactly where every fact came from — the résumé span, the enriched source, or the conflict a human resolved. And when sources disagree, nobody wins silently: the conflict is surfaced for a person to decide, never quietly overwritten. Thirty surfaces, listed above — not "thirty-plus," because a number you can count is worth more than a number you can't.
Every other system throws the intelligence away the moment someone is hired. We keep it — and turn it into an Onboarding Intelligence dashboard the new hire opens on day one. Same evidence, new purpose: development, never judgment. Nothing here is a score.
A 30/60/90 plan, approved by your manager and ready to work from.
Your identity, contact and home address as we hold them. If something is out of date, you flag it yourself — nobody has to file a ticket on your behalf.
Straight from your hiring evaluation — the things you already bring to the role.
Concrete, ownable ideas for applying your strengths at this company in your first weeks — you curate them, your manager can see the plan and outcomes. Never a rating.
A short runway toward the parts of the role your evaluation didn't find evidence of yet — never a verdict, just what's next.
The working agreements your team holds itself to — drawn from the team's Culture Fit profile — with a read-acknowledgment on each.
Development self-tests you're invited to take — shared with you, your manager and HR as the basis for a development conversation, never a rating.
A running, two-way record of how you and your manager see your fit with the team's culture pillars — never a score, just where things stand.
Rewrite the JD without changing a single requirement — different words, same meaning. Re-score the same pool. If the ranking moves, you are scoring the writing, not the candidates.
Remove one bullet describing a capability the role genuinely needs. Does any candidate lose points for a requirement that still exists in reality? If yes, your standard lives in the document, not in the system.
Ask why candidate #7 ranked below candidate #3. If every answer traces back to the requisition text and nowhere else, you have no external baseline — and nothing to show a regulator, a plaintiff, or a hiring manager who disagrees.
Take the same role as written by two different companies. Score one pool against both. Rankings should be broadly stable — roles are more alike than the documents describing them. Wide divergence measures the copywriting, not the candidates.
Pick ten candidates the system scored low. Can it distinguish "the evidence is absent from the résumé" from "extraction failed on this document"? If not, you don't know what you turned away.
The regulatory picture moved this year, and most of the market read the headline instead of the regulation. The EU's Digital Omnibus on AI is now law — Regulation (EU) 2026/1744, published 24 July 2026, in force 27 July. It defers the high-risk obligations for stand-alone Annex III systems — which name recruitment and employee management explicitly — to 2 December 2027, and embedded Annex I systems to 2 August 2028. What it did not defer: the Article 50 transparency duties, live since 2 August 2026; the Article 4 AI-literacy duty; and the new Article 5 prohibitions landing 2 December 2026. So the correct reading is not "we have until 2027." Part of the regime is already running. The rest is a deferred deadline, not a deferred obligation — and a deferral spent as relief is the most expensive way to spend it.
The litigation risk never depended on the AI Act at all. In Mobley v. Workday (N.D. Cal., 3:23-cv-00770-RFL) the court granted preliminary certification of a nationwide ADEA collective in May 2025, held that a vendor can answer as the employer's agent rather than "just a software provider," ordered disclosure of the customers who had enabled AI screening, and through 2026 has kept claims moving across age, race and disability — with Rule 23 certification on the remaining claims still live. Then a second theory arrived: a January 2026 putative class action against Eightfold AI framing a screening vendor as a consumer reporting agency under the FCRA, for collecting and scoring applicant data from third-party sources. One case attacks the outcome. The other attacks the process — and any system that enriches a candidate from external sources sits inside that second theory, ours included. Which is exactly why every enriched fact on our dashboard carries its source, its timestamp and a human-resolvable conflict state, instead of being silently fused into a number.
Here is the strategic point. Under the high-risk provisions you will be asked to document the logic, justify the criteria, and demonstrate that the criteria relate to the job. A blueprint with typed requirements, versioned criteria, immutable configuration hashes on every score artifact, and citation anchors to external occupational authorities is an audit trail. Prose matching produces no such artifact — and fifteen months of runway does not let a keyword engine retrofit one. Compliance follows architecture. It can't be added later, because the evidence a regulator wants is generated at scoring time or not at all.
Ten occupational and measurement authorities sit behind the scoring registry. Five regulatory anchors sit behind the audit packet. A score doesn't cite a bullet point — it cites a source.
A compiled requirement graph is a model, and models decay. Mitigation: version every blueprint, pin it to the requisition, and re-derive against the occupational baseline on a schedule — not on request.
Occupational taxonomies lag emerging roles badly; they always have. Mitigation: treat the external authority as a floor, not a ceiling, with an explicit override path and a recorded rationale — so the deviation is visible, not silent.
A role-normative layer flattens genuinely unusual roles toward the market mean. The right default; the wrong answer for the 5% of reqs that are legitimately strange. Mitigation: make the normative weight tunable per requisition, behind a governed flag, with the tuning recorded on the score artifact.
Compilation surfaces the gaps in a thin JD. It does not invent the missing requirements. Mitigation: return the gap analysis to the hiring manager before scoring opens, and treat requisition quality as an input control, not a scoring problem.
This is the sharpest objection to the role-normative layer and it is a fair one. If an occupational taxonomy encodes what the market has historically rewarded, a 25% normative weight can move bias out of the requisition and into the authority — where it is harder to see, because it looks like a source. Mitigation: treat the baseline as a scored surface in its own right. Run four-fifths analysis with the normative layer on and off, publish the delta, and require a recorded rationale wherever the baseline rather than the blueprint is what moved a candidate between bands.
A band called POOL is only better than a rejection if somebody opens it. Left alone, "kept, not discarded" becomes discarded with extra steps — and the audit trail will show exactly that. Mitigation: an explicit re-surfacing obligation — pooled candidates automatically re-scored against every new requisition in the same job family, with pool age and re-surface rate reported as operating metrics, not as a feature.
Compile it, anchor it, version it, and score against the compiled artifact — with an external baseline holding the standard steady when the document drifts.
Anything else is a very fast, very confident, very well-designed way of ranking people against a document nobody has updated since 2023.