Skip to content

Latest commit

 

History

221 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenHire

License: MIT Python 3.13+ PRs Welcome Contributor Covenant Tests

AI-powered interview and candidate screening platform for high-volume hiring. OpenHire automates campus recruitment through structured voice interviews, resume parsing, and explainable multi-agent evaluations.


Quickstart

You do not need an API key or database to run or develop OpenHire. The default setup runs offline in mock mode:

# 1. Clone and set up environment
git clone https://github.com/DevSidd2006/OpenHire.git
cd OpenHire
python -m venv .venv && source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt

# 2. Copy default environment (configured for mock mode)
cp .env.example .env

# 3. Start the server
python -m uvicorn api.app:app --reload

How It Works

Recruiter Creates Job ──> Candidate Applies & Submits Resume
                               │
                               ▼
                   Adaptive Voice Interview (STT/TTS)
                               │
                               ▼
                   Multi-Agent Evaluation Pipeline
         (Technical · Behavioral · Resume Audit · Integrity · Bias)
                               │
                               ▼
                   Explainable Candidate Leaderboard
  1. Job & Rubric Setup: Recruiters define job requirements and competencies. The system drafts an evidence-bound evaluation rubric.
  2. Resume Matching: Candidate resumes (.pdf/.docx) are parsed via OCR/text extraction and scored against the approved rubric.
  3. Adaptive Voice Interview: Shortlisted candidates take a conversational voice interview powered by an adaptive state machine.
  4. Multi-Agent Evaluation: Sealed transcripts are scored across 12 specialized LLM agents, generating an evidence-backed candidate report.

Multi-Agent System

Agent Focus
JDAnalyzerAgent Extracts skills, competencies, and requirements from job postings
ResumeParserAgent Extracts candidate experience, education, and skills from resumes
ResumeMatcherAgent Matches resumes to approved rubrics with grounded evidence spans
InterviewerAgent Generates dynamic, non-repetitive interview questions and assesses answers
TechnicalEvaluatorAgent Evaluates candidate technical proficiency from interview transcripts
BehavioralEvaluatorAgent Assesses leadership, teamwork, and communication competencies
ResumeAuditorAgent Cross-verifies verbal interview claims against resume entries
IntegrityAgent Identifies inconsistencies, conversational contradictions, and red flags
BiasCheckerAgent Audits evaluation rationales for demographic or scoring bias
ScoringAgent Aggregates competency scores using configurable role weights
ReportGeneratorAgent Compiles explainable, citation-backed candidate reports
LeaderboardAgent Ranks candidates while surfacing incomplete profiles for human review

Tech Stack

  • Backend: Python 3.13, FastAPI, Uvicorn
  • AI & Agents: LangGraph, Pydantic v2
  • LLM Providers: NVIDIA NIM, Groq, OpenAI, Google Gemini, Mock Provider
  • Speech (Voice): Edge-TTS, Azure Speech SDK, WebSockets
  • Database: PostgreSQL (asyncpg) or zero-dependency In-Memory stubs
  • Frontend: Vanilla HTML5, CSS3, ES6 JavaScript (served at /app)

Running Tests

OpenHire includes a comprehensive test suite of 911 automated tests:

# Run all tests
pytest tests/ -v

# Run specific test suite
pytest tests/test_voice_layer.py -v

Contributing & Community

Contributions are welcome! Please check:

Note: AI tools are welcome for contributing — just review and verify the output before submitting. Unreviewed AI-generated PR/issue spam will be closed. See CONTRIBUTING.md for details.

License

Distributed under the MIT License.

About

URL

Resources

Code of conduct

Contributing

Security policy

Stars

5 stars

Watchers

0 watching

Forks

Packages

Used by

Contributors

Languages