Production Case Study · Agentic AI · Multi-Agent System

Hire a Human
Agentic AI Hiring Platform

A production hierarchical multi-agent system that automates technical hiring screening. Built with LangGraph, LangChain, 2 custom MCP servers, and a real-time LiveKit voice agent — reducing screening time from 15 minutes to under 1 minute.

< 1 min
Screening time (was 15 min)
~700ms
Voice agent TTFA
11
Languages supported
44+
Real users validated
6/6
HR recruiters validated
2
Custom MCP servers built
Hire a Human — Agentic AI Hiring Platform live application screenshot
System Architecture

How the Multi-Agent System Works

Hire a Human uses a hierarchical supervisor-subagent pattern implemented in LangGraph's StateGraph. A supervisor agent routes control to specialized sub-agents based on the hiring stage, collecting outputs and making structured decisions.

🧠

Supervisor Agent (LangGraph)

Orchestrates the hiring pipeline. Routes between sub-agents using conditional edges in a StateGraph. Manages shared state — candidate profile, scores, and decisions — across the entire flow.

📄

Resume Screening Agent

Parses and evaluates candidate resumes. Extracts skills, experience, and education. Scores candidates against role requirements. Passes structured profile to the next agent.

🐙

GitHub Evaluation MCP Server

Custom FastMCP server that evaluates a candidate's GitHub profile. Analyzes repository languages, commit frequency, code quality signals, and contribution patterns through structured tool calls.

💻

LeetCode Evaluation MCP Server

Custom FastMCP server that evaluates LeetCode performance. Reports total problems solved, difficulty distribution (Easy/Medium/Hard), and consistency — giving objective technical signal without live coding tests.

🎤

LiveKit Voice Interview Agent

Real-time AI voice agent that conducts structured technical interviews. Achieves ~700ms time-to-first-audio. Supports 11 languages. Uses Silero VAD for voice activity detection and Twilio for telephony.

📊

Recruiter Dashboard (React)

Full-stack React + TypeScript frontend. Recruiters view structured candidate reports, screening scores, voice interview transcripts, and GitHub/LeetCode analysis — all in one place.

Technology Stack

LangGraph LangChain FastMCP LiveKit Cloud Python FastAPI React TypeScript PostgreSQL Docker Twilio Silero VAD OpenAI API

From Application to Hire Decision

The system reduces a 15-minute manual process to under 60 seconds through automated multi-agent coordination.

1

Candidate Submits Application

Candidate submits resume, GitHub username, and LeetCode profile through the React frontend. Data is stored in PostgreSQL via FastAPI backend.

2

Supervisor Agent Activates LangGraph Pipeline

The LangGraph supervisor initializes the StateGraph and begins routing. Resume screening agent runs first, extracting and scoring profile data. Output is added to shared state.

3

MCP Servers Provide Technical Signals

The GitHub and LeetCode MCP servers are called as tools. They return structured evaluation data — repository analysis and problem-solving metrics — which the supervisor adds to candidate state.

4

Voice Agent Conducts Technical Interview

If the candidate passes initial screening, the LiveKit voice agent initiates a structured technical interview in the candidate's preferred language. Transcript is generated and scored.

5

Structured Report Delivered to Recruiter

The supervisor consolidates all signals and generates a structured hiring recommendation. Recruiter sees complete candidate profile, all scores, and interview transcript in the dashboard — in under 1 minute total.

Frequently Asked Questions

Technical Questions About This System

What is a hierarchical multi-agent AI system?
A hierarchical multi-agent system uses a supervisor agent to orchestrate multiple specialized sub-agents. Each sub-agent handles a specific task. The supervisor routes control between them based on results and coordinates the overall output. Hire a Human implements this pattern using LangGraph's StateGraph with conditional edges — the supervisor decides which agent runs next based on the current state of the hiring pipeline.
What is an MCP server and what do the custom ones do here?
An MCP (Model Context Protocol) server exposes tools that an AI agent can call to interact with external systems. The two custom MCP servers in this project — built with FastMCP — connect to GitHub's API to evaluate a candidate's repositories and code patterns, and to LeetCode's data to evaluate their problem-solving track record. These replace the manual technical screening process that typically takes 15+ minutes per candidate.
Why use LangGraph instead of a simpler LangChain chain?
A linear LangChain chain runs agents in a fixed sequence. LangGraph allows conditional routing — the supervisor can decide to skip the voice interview if a candidate fails initial screening, or route to a different sub-agent based on job role. This stateful, conditional orchestration is essential for a realistic hiring pipeline where different candidate profiles require different evaluation paths.
How fast is the voice agent and what determines that speed?
The LiveKit voice agent achieves approximately 700ms time-to-first-audio (TTFA) — the time from when the candidate stops speaking to when the AI agent responds with the first audio token. This is achieved through a combination of Silero VAD (fast voice activity detection), streaming LLM inference, and LiveKit's real-time audio pipeline. The system supports 11 languages.

Building an AI agent or multi-agent system?

Sanskar Agrawal builds production agentic AI systems using LangGraph, LangChain, and custom MCP servers. Based in Indore, India — available for remote projects globally.