The biggest mistake companies make when building “AI Recruitment” tools is thinking the LLM should be the evaluator.
LLMs hallucinate. They get distracted by formatting, they fail at strict numerical inequalities (e.g., assessing if 5 years of experience clears a “7+ years required” boundary), and they are heavily biased by keywords.
When we built the Scoutica Protocol, we explicitly banned AI from the actual matching process. We only use AI (scoutica scan .) to extract unstructured data (your PDF resume) into a strictly typed, schema-validated JSON structure.
Once your data is JSON, we don’t need vibes. We need math.
We just shipped the Deterministic Fit Scoring Engine. Here’s how it actually decides who gets an offer.
The `scoutica evaluate` Command
Rather than asking an LLM "is this a good candidate?", an employer agent runs `scoutica evaluate ./candidate-card ./role.json`. The engine computes a guaranteed, reproducible score.
The Scoring Algorithm (0-100)
The scoring pipeline runs locally on the recruiter’s machine and is broken down across 5 rigid dimensions:
1. The Hard Array Check (40%)
The engine diffs the requirements.skills.languages and frameworks arrays in the role.json against the candidate’s profile.json. If you require Go and Rust, and the candidate only has TypeScript, they mathematically fail the hard checks.
2. Compensation & Rules Enforcement (20%)
This is the most critical block. Every Scoutica Skill Card contains a rules.yaml file where candidates declare their minimum_base and remote.policy.
If a recruiter inputs a role offering $140,000, but the candidate’s floor is set to $160,000, the evaluation instantly halts. The candidate is flagged as HARD_REJECT.
3. Seniority Alignment (15%)
We parse the candidate’s experience block, calculating raw chronological duration and mapping their titles against an enum [junior, mid, senior, staff, principal]. A mismatch lowers the modifier.
4. Remote & Industry Policy (15%)
If the role is “Hybrid - Berlin” and the candidate’s constraints are “Remote Only,” the engine drops the score. Further, if the candidate has listed defense or crypto in their blocked_industries array, and the recruiter’s recruiter_profile.json carries those tags, the connection is mathematically severed.
5. Verification & Evidence (10%)
A candidate claiming they know Kubernetes gets base points. A candidate with an evidence.json file linking to 3 public GitHub repos containing active Kubernetes configuration files gets bonus multiplier points for data verifiable authenticity.
Why This Architecture Matters
By removing the LLM from the negotiation phase:
- We cut compute costs to near-zero. Evaluating 10,000 JSON payloads via a Python script takes milliseconds. Doing that through an LLM API would cost hundreds of dollars.
- We eliminate AI bias. Math doesn’t care about the font you chose, the school you attended, or the prompt-injection tricks hidden invisibly in your CV margin.
- We give control back to humans. If you demand $200k base, the engine enforces it tirelessly against every agent on the network.
If you’re a recruiter, run scoutica org init to build your employer identity today, and let the deterministic engine do the active sourcing for you.
Sebastian Schkudlara
Introducing the Scoutica Live Network: Decentralized AI Hiring