How techbypradnya/ai-powered-intelligent-hiring-assistant works
Hire Signal is a recruiter-facing hiring platform. Recruiters create a role, upload resumes, review parsed candidate profiles and explainable match scores, then manage candidates through interviews and hiring stages. The React interface talks to a FastAPI backend, which persists jobs, resumes, match results, interview sessions, and scorecards in SQLite. The README documents additional directory, analytics, export, and report features; their routes are represented where the tree supports them. Some frontend and service-to-service wiring is inferred from the README because those source files were not sampled.
Main entry points: main.py FastAPI App · crud.py Database Operations · routes_resume.py Resume Upload · App.jsx App Navigation
Components 21
Recruiter Interface
- App Navigation
frontend/src/App.jsx - Hiring Dashboard
frontend/src/pages/Dashboard.jsx - Candidate Directory
frontend/src/pages/CandidateDirectory.jsx - API Client
frontend/src/api/api.js
API Workflows
- FastAPI App
backend/app/main.py - Resume Upload
backend/app/api/routes_resume.py - Jobs and Matching
backend/app/api/routes_match.py - Directory and Exports
backend/app/api/routes_candidates.py - Candidate Chat
backend/app/api/routes_chat.py - Interviews and Scorecards
backend/app/api/routes_interviews.py
Resume Screening
- Resume Parser
backend/app/services/resume_parser.py - Role Classifier
backend/app/services/classifier.py - Explainable Matcher
backend/app/services/matcher.py - Embeddings and FAISS
backend/app/services/embedding_engine.py - Skill-Gap Feedback
backend/app/services/feedback_generator.py - Resume Q&A
backend/app/services/rag_chat.py - AI Interview Generator
backend/app/services/interview_generator.py
Hiring Data
- SQLite Hiring Store
backend/app/db/database.py - Database Operations
backend/app/db/crud.py
Other components
- Recruiter
- Anthropic API
Connections 26
- Recruiter → App Navigation: uses
- App Navigation → Hiring Dashboard: opens
- App Navigation → Candidate Directory: navigates
- Hiring Dashboard → API Client: requests data
- Candidate Directory → API Client: requests data
- API Client → FastAPI App: REST requests
- FastAPI App → Resume Upload: registers
- FastAPI App → Jobs and Matching: registers
- FastAPI App → Directory and Exports: registers
- FastAPI App → Candidate Chat: registers
- FastAPI App → Interviews and Scorecards: registers
- Resume Upload → Resume Parser: parses uploads
- Resume Upload → Role Classifier: classifies text
- Resume Upload → Database Operations: saves resumes
- Jobs and Matching → Database Operations: loads and saves
- Jobs and Matching → Explainable Matcher: scores resumes
- Explainable Matcher → Embeddings and FAISS: computes similarity
- Explainable Matcher → Skill-Gap Feedback: generates feedback
- Directory and Exports → Database Operations: reads candidates
- Candidate Chat → Database Operations: loads resume
- Candidate Chat → Resume Q&A: answers questions
- Resume Q&A → Embeddings and FAISS: retrieves chunks
- Resume Q&A → Anthropic API: polishes answer
- Interviews and Scorecards → Database Operations: stores sessions
- Interviews and Scorecards → AI Interview Generator: generates and evaluates
- Database Operations → SQLite Hiring Store: reads and writes