Skip to content
Back to work
Case study2025~4 monthsLead developer & architect · NUST SEECS Final Year Project

Talent Scout

A cloud-based AI recruitment platform that automates the hiring pipeline — from AI-generated job descriptions to live, evaluated AI interviews. My final year project at NUST SEECS.

4stages · JD → match → interview → score
AIinterviewer + live evaluator
Livevideo + dynamic questioning
FYPfinal year project · NUST SEECS

01Problem

Recruitment burns hours before anyone codes.

The first 80% of hiring is structural: writing a JD, ranking resumes, scheduling phone screens, normalizing notes. None of it is judgment work — and yet it consumes the recruiters and engineers who'd be better used on the final 20% where the actual hire/no-hire decision lives.

TalentScout collapses the structural layer. JDs are generated from a brief, resumes are ranked by semantic match, and the first technical pass is an AI-conducted interview with a defensible rubric. By the time a human engineer joins the loop, there's a transcript, a score breakdown, and a shortlist worth their attention.

02The pipeline

Four stages, one rubric, one transcript per candidate.

Recruiter defines a role. Resumes get parsed and ranked. Top candidates take an AI-conducted interview. The system writes back a structured evaluation. Recruiter reviews the shortlist with the receipts already attached.

Recruiter briefrole + bulletsAI-generated JDOpenAIResume rankingvector matchAI interviewlive + scoredSTRUCTURED PIPELINE · one rubric, one transcript per candidate

AI-generated job descriptions

Paste a few bullet points; get a polished JD with role-specific skills, responsibilities, and qualifications.

Resume ↔ job matching

Vector-based similarity between parsed resume features and the JD. Candidates are ranked, not just listed.

Live AI interview

Browser-native WebRTC video, real-time transcription, dynamic question generation, and live scoring against the role's rubric.

Integrated coding assessment

Sandboxed editor + test-runner for technical roles. Auto-graded against hidden tests with per-case feedback.

ReactNode.jsExpressMongoDBOpenAI APIWebRTCTailwindCSSAWS

03AI interviewer

How an interview actually happens.

01 — step

Candidate joins

Browser-native WebRTC, no install. Mic + cam permission, then a quick warm-up question.

02 — step

Live loop

Speech → STT → LLM evaluation → LLM next-question → TTS. Streamed, so the next question feels conversational.

03 — step

Scoring

Per-criterion reasoning persisted alongside the transcript. Recruiter sees the score and the why.

04Decisions

Decisions worth keeping a paper trail on.

Why an AI interviewer at all

Early-stage technical interviews are a scheduling tax. Recruiters either skip them and over-trust resumes, or burn engineer hours on candidates who won't progress. An AI interview standardizes the first pass and lets human time concentrate where it actually matters.

Why MERN over Next.js

Decoupled React + Express let me iterate on the AI service independently of the recruiter dashboard, and let the WebRTC peer signaling stay close to the API layer. Mongo's flexibility handled the variable shape of interview transcripts and evaluation rubrics without schema gymnastics.

Why WebRTC + browser-native audio

No installs, no plugins. The candidate joins from a link in any modern browser. WebRTC handles the media pipeline; the server only sees signaling traffic. Audio is captured, transcribed, fed to the LLM, and the next question is generated in roughly conversational time.

Why dynamic question generation

A static question bank stops working the moment candidates share answers. Generating each question from the role description + previous answers means no two interviews are identical, and the model can dig into a strong claim or a vague one in real time.

05Tradeoffs

Where it got sharp.

  • 01

    Latency in the question-generation loop

    Candidate speaks → STT → LLM evaluation → LLM next-question → TTS back is a chain of slow steps. Cut perceived latency by streaming the model's response and starting TTS on the first sentence, and by running STT and evaluation in parallel rather than series.

  • 02

    Fair, repeatable evaluation

    An AI score is suspicious unless you can show your work. Every evaluation persists the rubric used, the candidate's transcript, and the model's per-criterion reasoning. Recruiters see the breakdown — not just the number — so an objection has somewhere to land.

  • 03

    The coding assessment integration

    Technical roles need code, not just talk. Built a sandboxed code-editor with auto-grading on a hidden test suite. The candidate sees pass/fail per case; the recruiter sees runtime, memory, and approach summary. Same evaluation rubric applies — score it, explain it, store it.

Next

Want to talk through how it's built?

Happy to walk through the code, the deployment, or any of these decisions in more depth.