Skip to content

Oct 2026 · KoSe Labs

Resume–Job Matcher

Scores how well a CV fits a job description, and explains why.

My role: ML lead and project manager, team of two

The Resume-Job Matcher showing a sample job description and CV scored as a strong fit, with matched and missing skills
A match on the demo's sample data: the estimated fit, and the skills the CV names and misses.

What it is

Gives a candidate an honest fit score between a CV and a job description, with the skills that match and the ones that are missing.

What I did

  • Owned all of the machine learning: a TF-IDF score fitted on 3,000 public job posts, compared against six embedding variants on 120 hand-rated CV and job pairs.
  • None of the embeddings beat TF-IDF on the development set, so TF-IDF stayed, recorded in an architecture decision record.
  • Built skill extraction from ESCO plus a tech dictionary.
  • A FastAPI backend and a React and TypeScript frontend. CVs are processed in memory, never stored, and kept out of logs.

Outcome

  • Spearman ρ 0.553 on the held-out test set, run once.
  • Skill extraction precision 0.904 on held-out job descriptions.
  • Published an evaluation report and a model card.

Built with

  • Python
  • FastAPI
  • React
  • TypeScript
  • GitHub Actions