2025 – 2026 · LLM pipeline
Explainable CV-Job Matching with Bias Audit
Matches a CV to a job offer with evidence for every decision, then runs a separate LLM auditor to check the result for bias.
The problem
Automated CV screening is often a black box: a candidate gets a score with no explanation, and hidden bias can creep in.
This project makes every step explainable, ties each matched skill to evidence in the CV, and adds a dedicated bias check before the report is produced.
How it works
Job skill graph
Extracts the skills a job requires with GLiNER and an LLM, and links related skills into a graph with NetworkX.
Evidence-based CV audit
Looks for concrete evidence of each required skill in the CV instead of just matching keywords.
Rule-based scoring
Computes the match score with transparent rules, so the number can be explained.
LLM bias auditor
A separate LLM reviews the evaluation for possible bias.
Report
Produces a readable report of the result, delivered in a web app with an Angular front end and MongoDB storage.
Results
I compared three models with LLM-as-a-judge on up to 500 CV-job pairs. The larger Llama 3.3 70B cut the error from 25.7 to 8.2 points.
What I learned
How to design multi-step LLM pipelines where each stage is checkable, how to evaluate LLM outputs at scale with LLM-as-a-judge, and how model size trades off against quality.