All projectsPROJECT/03
Redrob Data & AI Challenge
Veridex
Trap-Resistant Candidate Ranking Engine
Candidate ranking engine that scores 100,000 resumes against a job description in 34 seconds on CPU. Hybrid BM25 + FAISS retrieval, 56 deterministic signals, and honeypot detection built to survive adversarially constructed datasets.
View SourceJune 2026
Veridex · SchematicFIG/03
The Problem
Embedding-based resume screening collapses on adversarial data: keyword stuffers and impossible profiles float to the top while plain-language experts sink. Veridex grades impossibility, penalizes unearned skill claims, and still ranks 100K candidates in 34 seconds.
How It Works
React + Vite Dashboard→
FastAPI→
BM25 + FAISS Hybrid Shortlist (k=3,000)→
56-Signal Feature Extraction→
Honeypot Audit (L0–L3)→
Two-Layer Scoring (60% universal + 40% JD)→
Elite Re-score→
MMR Diversity Rerank→
Cited Reasoning + CSV
Key Features
- Detects four trap classes: keyword stuffers, behavioral twins, plain-language experts, and impossible profiles
- Soft multiplicative penalties; only provably impossible profiles hard-zero, everything else degrades gracefully
- Top-50 elite pool re-scored with NDCG@10-tuned head weights, then MMR reranking (λ=0.7) for diversity
- Evidence-grounded scoring: every number traces to real record fields with Role#N citations, so hallucinated reasoning is structurally impossible
- Fully config-driven; swapping one rubric.yaml adapts the entire engine to a new role with no code changes
- Dashboard with live ranking, weight sliders, stability badges, fairness audit, and candidate radar comparisons
Technical Highlights
- Two-layer scoring: JD-agnostic universal signals (60%) plus role-specific intent-graph matching (40%), modulated by confidence, availability, and graded honeypot and disqualifier factors.
- Zero honeypot false positives in the top-100 while catching 3,492 traps pool-wide, with 100% ranking stability across 50 trials of ±10% weight perturbation.