← Back to projects

JobMatch Checker

The problem:

Matching a resume to job descriptions is either manual and slow, or black-box AI that spits out a number with no explanation. Recruiters don’t trust it. Candidates don’t learn from it.

What I built:

A scoring system that breaks the match into seven dimensions, explains each score, and tells you what’s missing.
Not just “72% match”, but why 72%, and what would make it 85%.

What it scores:

  • Skills coverage (required vs nice-to-have)
  • Responsibilities similarity (semantic matching)
  • Seniority alignment
  • Domain fit
  • Education requirements
  • Location compatibility
  • Outcomes alignment

What makes it different:

  • Explainable: Every score has a breakdown and improvement suggestions
  • Graceful fallback: Works without OpenAI API (deterministic mode, 55% baseline)
  • Mode transparency: Response shows which components used AI vs fallback
  • Performance tracked: Every response includes timing breakdown

How I built it:

Python + FastAPI backend. OpenAI GPT-4o-mini for parsing, text-embedding-3-small for semantic similarity. Tailwind + Alpine.js frontend. Docker-ready. Rate-limited API.

Screenshots:

→ View on GitHub