How nayanareddyk/talent_ops works
TalentOps is an agentic recruiting platform that takes a role and candidate resume through parsing, sourcing, screening, scheduling, voice interviewing, evaluation, and reporting, with low-confidence cases escalated for human review. The React dashboard starts and monitors runs and presents scorecards, fairness views, interviews, and recruiter debriefs. The README documents the supervisor’s agent responsibilities and major capabilities; sampled source confirms the run entry point, live-room registry, LLM and speech services, and debrief data access. Links for unsampled stages follow documented architecture, not inspected call sites.
Main entry points: App.jsx Recruiting Dashboard · manager_agent.py Manager Agent · supervisor.py Pipeline Supervisor · interviewer.py Adaptive Interviewer
Components 29
Recruiter and Candidate UI
- Recruiting Dashboard
frontend/src/App.jsx - Pipeline View
frontend/src/components/PipelineDashboardView.jsx - Scorecard and Fairness
frontend/src/components/ScorecardView.jsx - Interview Room UI
frontend/src/components/InterviewRoom.jsx
API and Orchestration
- FastAPI Entry
app/main.py - Interview Routes
app/api/routes/interviews.py - Fairness Routes
app/api/routes/fairness.py - Pipeline Supervisor
app/graph/supervisor.py - Confidence Gate
app/graph/confidence.py
Recruiting Pipeline
- Resume Parsing
app/agents/parser_agent.py - Manager Agent
app/agents/manager_agent.py - Candidate Sourcing
app/agents/sourcing.py - Candidate Screening
app/agents/screening.py - Interview Scheduling
app/agents/scheduling.py - Interview Evaluation
app/agents/evaluator_agent.py - Hiring Report
app/agents/reporting.py - Candidate Emails
app/agents/communication.py
Interview and Debrief
- Adaptive Interviewer
app/agents/interviewer.py - Interview State Machine
app/agents/interviewer_fsm.py - Oral Interview
app/agents/oral_interview_agent.py - Live Room Registry
app/rooms/room_manager.py - Speech Services
app/services/speech_engine.py - HR Debrief
app/agents/manager_debrief.py
Data and AI Services
- Supabase Data
app/services/database.py - LLM Services
app/services/llm_clients.py - Gemini Live
app/services/gemini_live_session.py
Other components
- Recruiter
- Candidate
- Human Reviewer
Connections 34
- Recruiter → Recruiting Dashboard: uses
- Candidate → Interview Room UI: joins
- Recruiting Dashboard → Pipeline View: shows pipeline
- Recruiting Dashboard → Scorecard and Fairness: shows results
- Recruiting Dashboard → Interview Room UI: opens room
- Pipeline View → FastAPI Entry: starts run
- FastAPI Entry → Pipeline Supervisor: runs pipeline
- FastAPI Entry → Interview Routes: serves interviews
- Recruiting Dashboard → Fairness Routes: requests fairness
- Pipeline Supervisor → Resume Parsing: invokes parsing
- Pipeline Supervisor → Manager Agent: delegates control
- Manager Agent → Candidate Sourcing: routes sourcing
- Manager Agent → Candidate Screening: routes screening
- Manager Agent → Interview Scheduling: routes scheduling
- Manager Agent → Adaptive Interviewer: routes interview
- Manager Agent → Interview Evaluation: routes evaluation
- Candidate Screening → Confidence Gate: checks match
- Confidence Gate → Human Reviewer: flags low confidence
- Pipeline Supervisor → Hiring Report: generates report
- Pipeline Supervisor → Candidate Emails: sends decisions
- Adaptive Interviewer → Interview State Machine: advances states
- Adaptive Interviewer → Oral Interview: conducts interview
- Oral Interview → Speech Services: transcribes and speaks
- Interview Routes → Live Room Registry: manages rooms
- Live Room Registry → Supabase Data: persists rooms
- Live Room Registry → Interview Evaluation: evaluates transcript
- Interview Room UI → Interview Routes: connects to room
- HR Debrief → Supabase Data: loads interview data
- HR Debrief → Live Room Registry: creates debrief room
- Adaptive Interviewer → LLM Services: generates questions
- HR Debrief → LLM Services: answers HR
- Oral Interview → Gemini Live: uses live session
- Recruiting Dashboard → Supabase Data: reads dashboard data
- Fairness Routes → Supabase Data: reads decisions