AI & ML

Explainable Resume and Job Description Matching

A tool that scores how well a resume matches a job description and, crucially, explains the score by naming the specific requirements that are met, partially met and missing. Built for the candidate rather than the recruiter, which changes the design and avoids the ethical problems of automated screening.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

1 semester, 2 students

Deliverables

5 to ship

3 optional extras

Suggested stack

PythonFastAPIPostgreSQLpgvectorNext.js
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Parser extracting structured skills, experience and education from resume files
  • Requirement extraction from a pasted job description
  • Matching engine producing a score with a per requirement breakdown of met, partial and missing
  • Interface showing the gap analysis and concrete suggestions for what to add or emphasise
  • Evaluation against at least 50 manually labelled resume and job description pairs

If you have time left

  • Suggested rewording of existing bullet points to surface relevant evidence already present
  • Tracking multiple applications and showing which skills appear most often across them
  • Support for resumes in a second language

The problem

Candidates apply blind. They cannot tell whether they are close to a role or nowhere near it, and rejections carry no explanation. Meanwhile automated screening tools optimise for the employer and are notorious for opaque and unfair filtering.

What you build

The candidate side version. Paste a job description, upload a resume, and get a breakdown: which requirements are clearly evidenced, which are partially evidenced, which are absent, and what could be added.

Why the direction matters

Building this for recruiters means building an automated screening system, which raises serious fairness questions and which you cannot evaluate responsibly in a semester. Building it for candidates makes the same technology a transparency tool. Say this explicitly in your report; the ethical reasoning is part of the work.

The hard part

Explanation rather than scoring. Producing a similarity number is straightforward and nearly useless. Attributing the score to specific requirements, and being right about which ones are actually evidenced, is the difficult and valuable part.

How to evaluate it

Label fifty pairs by hand, at the requirement level rather than the document level. Report precision and recall on requirement matching, not just correlation with an overall judgement. A tool that says a requirement is met when it is not is actively harmful, so weight false positives accordingly.

Scope warning

Resume parsing is a swamp. Support a small number of formats well and reject the rest cleanly rather than half handling everything.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Get guidance
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Every session is free; a few slots open each week.

Follow along

New writing, resources and project ideas land here first.