DEV Community

Cover image for How We Built an AI Candidate Screening System That Actually Explains Itself
Ayan pal
Ayan pal

Posted on

How We Built an AI Candidate Screening System That Actually Explains Itself

I'm building ATSFy — an AI-powered hiring platform from Northeast India. This post is about the design decisions behind our candidate screening feature, specifically around explainability and scoring transparency.

The problem with most ATS scoring

Most applicant tracking systems rank by keyword density. Feed a JD into the system, get a match percentage back. No reasoning. No breakdown. No way to audit why Candidate A scored 87% and Candidate B scored 63%.

That's not explainable AI. That's a black box with a confidence score painted on it.

We wanted to do better.

What we built

ATSFy's screening system takes a job description and a set of resumes (PDF, DOCX, TXT — bulk supported), runs them through a Claude-powered evaluation pipeline, and returns a ranked candidate list scored across four SHRM-aligned dimensions:

Technical Fit      →  Does the skills profile match the role?
Experience Depth   →  How relevant is their career history?
Education Match    →  Does the background meet requirements?
Cultural Alignment →  Values and working style signals
Enter fullscreen mode Exit fullscreen mode

Each dimension is scored independently, then combined into a weighted composite out of 100.

The transparency layer

Here's the part I'm most proud of.

Every skill tag on a candidate profile is marked:

  • ✅ Checkmark = explicitly found in the resume
  • ℹ️ Info icon = inferred from context

So if the JD requires Kubernetes experience and the resume mentions "led containerised infrastructure migrations at scale," the system might infer K8s familiarity — but it marks it as inferred, not verified. The recruiter sees the distinction.

Same with the reasoning summary. Every candidate gets one line:

"Led K8s migration cutting cloud spend 38% — direct fit for platform mandate."

This isn't generated fluff. It's the system's most defensible evidence for the score, pulled from the resume.

Why this matters for AI in hiring

There's real regulatory pressure coming around AI in recruitment — particularly around transparency and explainability. The EU AI Act classifies automated hiring decisions as high-risk. Explainability isn't just a nice-to-have; it's going to be a legal requirement.

Building transparency into the core scoring logic now means we're compliant-by-design, not compliant-by-retrofit.

Stack

We're built on TypeScript + React + Vite on the frontend, Node.js + Express on the backend, Claude API for the evaluation pipeline, and Neon (PostgreSQL) for persistence. Deployed on Vercel.

What's next

We're iterating fast. Currently working on:

  • Bias audit flags per candidate evaluation
  • Weighted scoring customisation by role type
  • Explainability report PDF export for regulated industries

If you're building in HR Tech or AI evaluation systems, I'd love to compare notes. Drop a comment below.

— Ayan, Founder @ ATSFy Technologies, Agartala

Top comments (0)