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
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.

Top comments (0)