← Back to Portfolio
AI for Hiring

Resume Scoring Engine

Reads a resume like a great recruiter would. Scores it on 6 dimensions. Explains every score. Catches bias.

Try Live Demo →

The Problem

6-8 sec

Average time a recruiter spends per resume. That's scanning for logos, not reading.

200+

Applications per role. Snap judgments based on company names, college prestige, and keyword density.

0%

Transparency. Traditional tools give a pass/fail with no explanation. No way to interrogate the decision.

The core failure: A candidate who "built a Chrome extension used by 50,000 people" gets rejected because their resume doesn't say "frontend engineering." Someone who copy-pasted the job description sails through.

Architecture

How It Works

Resume and job description go in. A detailed, explainable scorecard comes out.

Input
Resume
PDF or text upload
Cloud drive import
Input
Job Description
Full JD text
Role requirements
Step 1
Read & Understand
Parse resume into structured sections
Extract JD requirements
Infer skills not explicitly listed
Map career trajectory
Step 2
Score on 6 Dimensions
Skills Match (25-35%) — semantic, not keyword
Experience Quality (20-30%) — depth over duration
Achievement Impact (10-15%) — numbers and scope
Education Fit (5-15%) — decays with seniority
Career Direction (5-10%) — trajectory alignment
Communication (5-10%) — writing clarity
Step 3
Bias Audit
Check for college prestige bias
Check for gender/name influence
Flag career gap penalties
Output
Scorecard
Overall score with confidence
6 dimension scores + evidence
Strengths, gaps, bias flags
3 tailored interview questions
Powered by Sarvam 105B — Indian AI model with native Hindi-English support
Scoring Model

6 Dimensions. Every Score Explained.

Skills Match
25-35%

Do they have the skills this job needs?

Job needs React. Candidate built a Chrome extension with 50K users. System recognizes that as frontend expertise.

Experience Quality
20-30%

Is their experience relevant and substantial?

2 years of high-impact work beats 8 years of routine work. Recent experience counts more than old.

Achievement Impact
10-15%

Did they make a measurable difference?

'Reduced page load time by 40%' scores higher than 'improved performance.' Numbers and scope matter.

Education Fit
5-15%

Is their education relevant?

Weight drops automatically for senior roles. Never over-rewards prestigious college names.

Career Direction
5-10%

Is their career heading toward this role?

An engineer gradually shifting to product scores higher than a random lateral jump.

Communication
5-10%

Can they express ideas clearly?

Evaluated from the resume itself. Clear writing and specific details signal strong communication.

Key Capabilities

What Makes This Different

Understands Meaning, Not Keywords

'Built a Chrome extension used by 50K people' = frontend expertise. No keyword matcher catches that. This system does.

Catches Bias Automatically

Checks if college prestige, company names, gender, or career gaps influenced the score. Every bias gets flagged transparently.

Explains Every Decision

Every score comes with the evidence behind it. Hiring managers can agree, disagree, and override with full context.

Career changers don't get penalized

A FAANG engineer switching to PM has relevant skills. The system connects the dots across domains.

Keyword-stuffing gets caught

'Owned P&L for $10M line' beats listing 'P&L management' as a skill. Substance over keywords.

Indian resumes work perfectly

B.Tech, CGPA/10, JEE ranks, CTC conventions, Hindi-English mixed text. Built for the Indian context.

Hidden skills get surfaced

'Built fraud detection processing 2M txns/day' — system infers ML, streaming, distributed systems expertise.

Over-qualified gets flagged, not rejected

Staff Engineer applying for Junior role? Flagged as over-qualified — different signal, different action.

Scores are calibrated and consistent

78 for a career changer = 78 for a traditional candidate. Reference-point calibration keeps scores meaningful.

Technical Stack

Built With

AI Engine
Sarvam 105B
Indian AI model. Native Hindi-English. 128K context window.
Framework
Next.js 15
App Router, React Server Components, server-side API routes.
Hosting
Vercel Edge
Global CDN, instant deploys, atomic rollbacks.
Database
Supabase
PostgreSQL with row-level security. Typed client.
Type Safety
TypeScript
Strict mode. Every AI response validated against typed schemas.
Security
Rate Limited
10 req/min per IP. API keys server-side only. No client exposure.
PDF Processing
pdf-parse
Server-side extraction. Magic byte validation. 20MB limit.
Output Validation
JSON Schema
Every LLM response validated. Malformed output triggers retry.
Monorepo
Turborepo
Shared packages. Parallel builds. Content-hash caching.
Product Thinking

What I’d Build Next

Learn from Hiring Outcomes

Feed actual interview pass/fail data back into scoring. Over time, the system gets better at predicting which candidates succeed.

Closes the feedback loop
Grade the Job Description

Before scoring resumes, check if the JD itself is vague, unrealistic, or gendered. A bad JD produces bad matches.

Fixes the input, not just the output
Candidate Pool Intelligence

Across all applicants, show which skills are easy to find and which are rare. If nobody has a requirement, the JD needs to change.

Turns screening into market intelligence
SARVAM 105B | NEXT.JS 15 | VERCEL | SUPABASE | TYPESCRIPTTry Live Demo →