How udayteja21/intellihire-ai works
IntelliHire AI is a candidate coaching platform: users create accounts, analyze resumes, practice mock interviews, and review readiness feedback and progress. The frontend’s feature pages use a shared API client to reach FastAPI; API routes coordinate analysis, interview state, and reports. Authentication, persistent records, AI generation/evaluation, speech transcription, and emailed/PDF reports are distinct supporting stages. The routes excerpt and service files support the backend links shown; frontend page-to-API wiring and unsampled AI orchestration details are not shown, so those links are kept at the shared-client level.
Main entry points: core.py AI orchestration · api.js API client · routes.py Product API routes · auth.py Auth endpoints
Components 25
Candidate experience
- Resume analysis
frontend/src/app/resume/page.js - Mock interview
frontend/src/app/interview/page.js - Practice history
frontend/src/app/history/page.js - Readiness reports
frontend/src/app/reports/page.js - Learning materials
frontend/src/app/materials/page.js - Account access
frontend/src/app/login/page.js - API client
frontend/src/lib/api.js
API and identity
- FastAPI app
backend/main.py - Auth endpoints
backend/app/api/auth.py - Product API routes
backend/app/api/routes.py - Token security
backend/app/core/security.py
AI coaching
- AI orchestration
backend/app/services/ai/core.py - AI parsing
backend/app/services/ai/parser.py - AI validation
backend/app/services/ai/validator.py - Fallback analysis
backend/app/services/ai/fallback_service.py - Gemini provider
backend/app/services/ai/gemini_service.py - Groq provider
backend/app/services/ai/groq_service.py - OpenRouter provider
backend/app/services/ai/openrouter_service.py
Candidate records
- Application database
backend/app/db/database.py - User and sessions
backend/app/db/models.py - Interview PDF
backend/app/services/pdf_service.py - Email notifications
backend/app/services/email_service.py
Other components
- Candidate
- LLM APIs
- SMTP service
Connections 31
- Candidate → Resume analysis: submits resume
- Candidate → Mock interview: practices
- Candidate → Account access: signs in
- Resume analysis → API client: requests analysis
- Mock interview → API client: requests session
- Practice history → API client: loads history
- Readiness reports → API client: loads reports
- Learning materials → API client: loads resources
- Account access → API client: sends credentials
- API client → FastAPI app: HTTP requests
- FastAPI app → Auth endpoints: mounts auth
- FastAPI app → Product API routes: mounts APIs
- Auth endpoints → Application database: queries and updates
- Auth endpoints → Token security: hashes and signs
- Auth endpoints → Email notifications: sends account email
- Product API routes → Application database: reads and writes
- Product API routes → AI orchestration: requests analysis
- Product API routes → Groq provider: transcribes audio
- Product API routes → Interview PDF: generates report
- Product API routes → Email notifications: sends completion email
- Application database → User and sessions: maps records
- AI orchestration → AI parsing: parses output
- AI orchestration → AI validation: validates output
- AI orchestration → Fallback analysis: uses fallback
- AI orchestration → Gemini provider: generates content
- AI orchestration → Groq provider: generates content
- AI orchestration → OpenRouter provider: generates content
- Gemini provider → LLM APIs: calls provider
- Groq provider → LLM APIs: calls provider
- OpenRouter provider → LLM APIs: calls provider
- Email notifications → SMTP service: sends mail