
HireSenseAI - Intelligent Recruitment & CV Analysis System
Advanced AI-powered recruitment platform employing a multi-agent 'Deep Reasoning' architecture to evaluate candidates like a human technical recruiter. Features hybrid LLM approach, vector search, and comparative ranking.
Project Overview
HireSenseAI - Intelligent Recruitment & CV Analysis System
HireSenseAI is an advanced AI-powered recruitment platform designed to automate and enhance the candidate screening process. Unlike traditional ATS systems that rely on simple keyword matching, HireSenseAI employs a multi-agent "Deep Reasoning" architecture to evaluate candidates like a human technical recruiter.
It leverages a hybrid LLM approach (Gemini + Ollama), Vector Search (Pinecone), and generative agents to extract structured data, perform comparative ranking, and generate interview questions tailored to each candidate's weak spots.
System Architecture
The system follows a Modular Monolithic Architecture with a Layered Service Design and Asynchronous I/O.
Interactive System Architecture
PDF Resume
Candidate CV
Job Description
Role Requirements
Text Extraction
Structured Profile
Entity Extraction & Skill Mapping
Nomic-Embed
Edge Vector Embeddings
Pinecone DB
Semantic Vector Storage
SQLite DB
Relational Analytics
Skeptical Reasoning
Tournament Ranking
Core AI Engineering
The heart of HireSenseAI is its backend logic, designed to solve the problem of "Hallucinated Matches" in AI recruitment.
1. The "Judge" Agent (Deep Reasoning)
Most AI tools simply summarize resumes. HireSenseAI implements a "Judge" agent specifically prompted to be skeptical and fact-based.
Implementation Details:
- **Model**: gemini-3-flash-preview.
- **Workflow**:
1. Fact Check: The model first scans the resume for explicit evidence of required skills (e.g., specific libraries, tenure duration).
2. Gap Analysis: It identifies what is *missing* rather than just what is present.
3. Strict Scoring: A proprietary scoring algorithm (0-100) that penalizes vague claims.
- **Outcome**: A "Critical Gaps" list and "Interview Questions" generated specifically to probe identified weaknesses during the actual interview.
2. Hybrid Extraction Pipeline
To balance performance and cost, the system uses a tiered extraction strategy:
- **Level 1 (Local/Edge)**: Uses **Ollama** (Qwen3:4b) running locally to extract information and basic formatting. This ensures speed and data privacy for sensitive info.
- **Level 2 (Cloud/Reasoning)**: Uses **Gemini** for complex entity extraction (Project details, Tech Stack correlation) and soft skills assessment.
3. Vector Search & RAG
We use Pinecone as a semantic search engine.
- **Embeddings**: Resumes are vectorized using `nomic-embed-text` (via Ollama).
- **Metadata Filtering**: Vectors are stored with rich metadata (Skills, Years of Exp), allowing for hybrid search (Semantic + Keyword filtering).
4. Comparative Ranking Engine
Instead of scoring candidates in isolation, the Ranking Engine performs a tournament-style comparison.
- It takes the Top N candidates for a specific Job Description.
- It feeds their summarized profiles into a large context window.
- It outputs a relative ranking with specific justifications for *why* Candidate A is better than Candidate B for *this specific role*.
Tech Stack
Backend (The Core)
- **Language**: Python 3.10+
- **Framework**: FastAPI (Async high-performance API)
- **LLMs**: Google Gemini (Primary Reasoning), Ollama (Local/Fallback)
- **Vector Database**: Pinecone
- **Database**: SQLite (Dev) / PostgreSQL (Prod) with SQLAlchemy & Alembic
- **Pydantic**: Strict data validation and schema enforcement
Frontend
- **Framework**: Next.js
- **Styling**: Tailwind CSS
- **UI Components**: Radix UI, Lucide React
Future Roadmap
- Integration with LinkedIn API for auto-sourcing.
- Fine-tuning a local model specifically for resume parsing to remove dependency on external APIs for Level 1 extraction.
- Voice Agent for automated initial screening.
- Implement a robust user management system.
Project Note
This project has a lot of scope and lot of area to improve yet, i just started this and there will be more update to come.