All projects
2025.02HR & RecruitingNew Build

Recruiting Matching Platform

Matches job requirements against candidate histories and shows the fit score along with its reasoning.

WebServer & Infra
Recruiting Matching Platform
Screen reconstructed from delivered work. Contains no client data.
Timeline
About 5 months
Team size
4 people
Platforms
Web · Server
Key feature
Fit scoring against requirements

Background

Recruiters read through every application submitted to a job posting one by one, judging fit against requirements manually. Review time grew with the number of applicants, and it was also cumbersome to record why a particular candidate was chosen.

Scope

  • Job posting requirement registration
  • Applicant resume parsing
  • Fit scoring against requirements
  • Display of the basis for fit scores
  • Candidate comparison screen
  • Progress management by hiring stage

Technical decisions

What we chose, and why it fit

Showed the basis items alongside the fit score, not the score alone

A score alone left recruiters unable to explain why a result came out the way it did, so it couldn't actually be used in decisions. We broke the result down by which requirements matched and which fell short, so recruiters could use it as a basis for their final judgment.

Handled matching logic in the .NET backend, keeping Next.js focused on viewing and comparison screens

Matching criteria were likely to be adjusted frequently based on recruiter feedback. Separating the frontend from the logic meant changing matching criteria didn't require touching screen code.

Engineering challenges

Problem

Applicant resumes came in a mix of PDF, Word, and image formats, making it hard to automatically extract requirement fields.

Approach

We added a separate step to normalize each format's parsing result into a common resume schema, and left a screen open for recruiters to check and fix fields where automatic extraction was ambiguous.

Result

Even imperfectly parsed resumes could now be fed into matching, after a recruiter's review.

Problem

Requirement importance differed by job posting, so the same matching criteria couldn't be applied uniformly across all postings.

Approach

We let recruiters set a weight for each requirement at posting registration, and had fit scoring calculated using those weights.

Result

Recruiters could now adjust fit rankings to criteria that matched the character of each posting.

Handover and operations

We provided a guide for recruiters on requirement registration and weight settings, and separately documented the matching logic's decision criteria. We handed over the source code and deployment configuration, and supported matching criteria adjustments together during the initial operating period.

Stack

Next.js.NETAzure