Skip to main content
HR TechAI

Resume Screening and Candidate Ranking System

This case study describes a real engagement. Client identity, proprietary details, and specific metrics are anonymized or approximated under NDA.

85%Screening Time Reduction
4.2xRecruiter Throughput
12sAvg Processing Time
The Challenge

What needed
solving

Recruiters spending 6+ hours daily on resume screening. 300+ applications per open role with no structured ranking — all assessment was manual, resulting in inconsistent criteria application across reviewers and slow time-to-shortlist.

Resume content is highly unstructured and format-variable. The system had to handle single-column and multi-column layouts, tables, skill section formats ranging from bullet lists to prose paragraphs, and date formats with varying levels of precision (month-year, year-only, "current"). Skill extraction was particularly challenging because skill terminology is inconsistent — the same capability might appear as "React.js", "ReactJS", "React (hooks, context, redux)", or simply be implied by project descriptions rather than listed explicitly. Job requirement specifications also varied significantly in quality across the client's different hiring managers, ranging from detailed rubrics to vague one-line descriptions that required normalization before they could be used as scoring targets. Bias mitigation was a stated requirement: the system had to be reviewable and explainable, not a black box score.

Approach

How we
built it

  1. 01

    Worked with the recruiting team to define explicit, auditable screening criteria for each role type — skills required, experience signals, and explicit red flags — rather than training on historical accept/reject decisions that encoded reviewer inconsistency.

  2. 02

    Built a semantic skill-matching layer that understood equivalences — "React" and "ReactJS" and "React.js" are the same thing; "experience with financial services" and "banking background" overlap but don't mean the same thing.

  3. 03

    Structured the output as an evidence-backed ranking rather than a binary accept/reject: each candidate includes a ranked summary of criteria met, with source citations from the CV, giving recruiters a starting point for review rather than a black box score.

  4. 04

    Implemented bias mitigation by removing name, gender indicators, and graduation year from the features used for ranking, with explicit monitoring for demographic distribution in shortlists.

This engagement automated the resume-to-shortlist stage of a high-volume recruitment operation. The system parses resumes in PDF and Word format, extracts structured candidate profiles (experience timeline, skill inventory, education, certifications), scores each candidate against a configurable job requirement specification, and ranks the pool by composite match score. Recruiters interact with the results through a Next.js review interface that shows the ranked list alongside the specific evidence supporting each score — the extracted text that justified the match rating for each requirement. The system processes 300 resumes in approximately 60 minutes of unattended batch processing, compared to the previous 3–4 days of manual screening.

Solution

What we
delivered

NLP pipeline for resume parsing, skill extraction, and structured scoring against job requirements. Produces a ranked candidate list with per-requirement match scores and extracted evidence, allowing recruiters to validate AI assessments rather than perform raw screening.

Results

Measurable
outcomes

  • Screening time reduced 85%, with the system processing each application in an average of 12 seconds versus the previous 20–30 minutes per manual review.
  • Recruiter throughput increased 4.2× on the primary screening function, allowing the team to handle significantly higher application volume without additional headcount.
  • Inter-reviewer consistency measurably improved as screening criteria became explicit and consistently applied rather than reviewer-dependent.
Tech Stack
PythonspaCyOpenAIPostgreSQLNext.jsDocker
Timeline
8 weeks
Team Size
2 engineers

The consistency improvement was the part I did not expect. We were applying different criteria across different reviewers without realising it. The AI screening at least applies the same criteria to every application.

Head of Talent Acquisition, Technology Company

Ready to build
something like this?

Tell us what you are building. We will scope it, price it honestly, and give you a clear plan.

Start a Conversation

Free 30-minute scoping call. No obligation.