AI-Powered Recruitment: Resume Screening + Voice Interviews
4
Pipeline Steps
<5s
Screen Time
5 min
Interview
6
Score Dimensions
From job application to shortlisted candidate — fully automated.
Candidate browses the job board and selects a position
Fills multi-step application: personal info, resume upload, and interview time slot
Claude AI screens the PDF resume — scores experience, skills, education, trajectory (0-100)
Score 60+? Vapi triggers an automated outbound phone call at the scheduled time
Claude conducts a 5-minute structured interview with 4 questions via ElevenLabs voice
After the call, Vapi sends the transcript back via webhook
Claude analyzes the transcript — scores communication, technical, enthusiasm, experience
Overall score calculated (60% resume + 40% interview). 75+ = shortlisted, <50 = rejected
Dashboard updates in real-time with scores, transcript, and recommendation
5-stage automated pipeline — from resume upload to final decision.
Django Backend
Your Server
Vapi
Voice Calls
Claude API
AI Brain
PostgreSQL
Candidates + Jobs
ElevenLabs
Voice TTS
Next.js 16
Dashboard
Every feature designed for teams that screen hundreds of applicants.
Upload a PDF resume — Claude reads it natively (no parser needed), scores 0-100 on experience, skills, education, and trajectory. Returns strengths, red flags, and a recommendation.
Candidates scoring 60+ automatically receive a Vapi phone call. Claude conducts a 5-minute structured interview with 4 questions, using ElevenLabs voice. Fully conversational.
After the call, Claude analyzes the transcript and scores communication (0-25), technical (0-25), enthusiasm (0-25), and experience (0-25). Produces highlights, concerns, and a recommendation.
Overall score = 60% resume + 40% interview. Score 75+ = shortlisted, under 50 = rejected. Weighted formula ensures both written qualifications and verbal ability matter.
Built-in job board with 5 seeded positions. Candidates browse jobs, fill a multi-step form (info → resume → time slot), and get screened instantly.
Real-time stats (total candidates, avg score, interviewed, shortlisted), candidate table with filters, detailed candidate pages with score donuts, transcript viewer, and pipeline visualization.
Built for teams that need to screen fast without sacrificing quality.
Startups screening hundreds of applicants without a dedicated recruiter
HR teams automating first-round phone screens to save interviewer time
Agencies building white-label hiring solutions for clients
Companies wanting 24/7 candidate screening — resumes scored in seconds, not days
Developers learning full-stack AI integration with Claude + Vapi + Django
Django + Claude AI + Vapi — full-stack recruitment automation.
Clone, configure, and start screening candidates with AI. Full details in the GitHub README.
git clone https://github.com/codewithmuh/ai-hiring-agent.git && cd ai-hiring-agentAdd your API keys: Anthropic (Claude), Vapi, ElevenLabs. Set PostgreSQL credentials.
cp backend/.env.example backend/.envStarts PostgreSQL, Django backend (port 8000), and Next.js frontend (port 3001).
docker compose up -d --buildCreates 5 demo jobs, 10 sample candidates, and 35 interview slots.
docker compose exec backend python manage.py migrate && docker compose exec backend python manage.py seed_dataCopy the HTTPS URL and set it as BACKEND_PUBLIC_URL in your .env file.
ngrok http 8000Open localhost:3001, browse a job, submit an application with a real PDF resume. Watch Claude screen it in seconds. If score 60+, trigger an interview from the candidate detail page.
Deploy the AI Hiring Agent on your own server. Open source, screens resumes in seconds, conducts voice interviews automatically. One Docker Compose command.
Built by CodeWithMuh