How huanglianjin/ai_interview works
职面 AI is a full-stack interview-practice and resume-improvement product. Its main workflow takes a candidate from session setup through planned, multi-turn interview conversation to evaluation and a report; candidates can also clone sessions into live voice mode. A parallel resume workflow analyzes and optimizes a resume for a target role, then generates and saves tailored resumes. The graph preserves README-documented capabilities; unsampled backend route and graph internals limit finer call-level links.
Main entry points: resume.py Resume APIs · llms.py Model configuration · base.py PostgreSQL · InterviewArea.tsx Interview interface
Components 31
Candidate experience
- Interview workbench
web/app/page.tsx - Interview interface
web/components/InterviewArea.tsx - Resume tools
web/components/ResumeTools.tsx - Voice interface
web/components/VoiceInterview.tsx - Voice capture and playback
web/hooks/useVoiceChat.ts - Client state
web/store/useInterviewStore.ts
Interview workflows
- Interview APIs
backend/app/api/chat.py - Session APIs
backend/app/api/sessions.py - Interview agent
backend/app/core/graph.py - Interview planner
backend/app/core/interview_planner.py - Voice stream API
backend/app/api/voice_chat.py - Voice interview engine
backend/app/core/voice_interview.py - Interview analysis
backend/app/core/interview_analysis.py - Report generation
backend/app/services/report_service.py
Resume workflows
- Resume APIs
backend/app/api/resume.py - Resume analysis
backend/app/core/resume_analyzer_graph.py - Resume optimization
backend/app/core/resume_optimizer_graph.py - Resume generation
backend/app/core/resume_generation_graph.py - Resume storage
backend/app/database/resume_generation_service.py
Platform services
- Model configuration
backend/app/core/llms.py - Knowledge retrieval
backend/app/services/rag_service.py - Ability profiles
backend/app/services/ability_service.py - Review APIs
backend/app/api/review.py - Appeals and audit
backend/app/services/human_review_service.py
Persistence
- PostgreSQL
backend/app/database/base.py - Session persistence
backend/app/database/session_service.py - Context budgeting
backend/app/services/context_service.py
Other components
- Candidate
- Administrator
- Configured LLM
- Voice model service
Connections 36
- Candidate → Interview workbench: uses
- Administrator → Review APIs: reviews appeals
- Interview workbench → Client state: updates state
- Interview workbench → Interview interface: opens interview
- Interview interface → Session APIs: manages sessions
- Interview interface → Interview APIs: sends turns
- Interview interface → Client state: reads state
- Resume tools → Resume APIs: requests resume work
- Voice interface → Voice capture and playback: captures audio
- Voice interface → Voice stream API: streams conversation
- Voice stream API → Voice interview engine: dispatches
- Voice interview engine → Voice model service: streams audio
- Voice capture and playback → Voice interface: provides audio
- Session APIs → Session persistence: manages sessions
- Interview APIs → Interview agent: runs interview
- Interview agent → Interview planner: plans questions
- Interview agent → Model configuration: requests model
- Interview planner → Knowledge retrieval: retrieves references
- Interview APIs → Interview analysis: requests evaluation
- Interview analysis → Report generation: builds report
- Interview analysis → Ability profiles: updates profile
- Resume APIs → Resume analysis: analyzes resume
- Resume APIs → Resume optimization: optimizes resume
- Resume APIs → Resume generation: generates resume
- Resume APIs → Resume storage: saves generated resume
- Resume analysis → Model configuration: requests model
- Resume optimization → Model configuration: requests model
- Resume generation → Model configuration: requests model
- Model configuration → Configured LLM: calls model
- Interview agent → Context budgeting: compresses history
- Session persistence → PostgreSQL: reads and writes
- Resume storage → PostgreSQL: reads and writes
- Knowledge retrieval → PostgreSQL: reads chunks
- Ability profiles → PostgreSQL: reads and writes
- Review APIs → Appeals and audit: handles appeals
- Appeals and audit → PostgreSQL: reads and writes