How ranxi2001/offerpilot works
OfferPilot is an AI interview-preparation product: users provide a resume and job description, receive matching or resume feedback, then practice interviews with evidence-based assessment and reports. The primary deployed flow is the Next.js interface and BFF calling the Go API, whose typed interview agents use an LLM, knowledge retrieval, and persistent interview state; speech services support recorded answers and spoken questions. The README documents additional capability branches beyond the sampled source. Those branches are represented at their documented subsystem paths; unsampled internal call details are not inferred.
Main entry points: server.go HTTP API · service.go Interview Service · api Web BFF · runtime.go Agent Harness
Components 18
Web Experience
- Preparation UI
web/src/app/page.tsx - Web BFF
web/src/app/api - Interview and Reports
web/src/components
Go API
- HTTP API
backend/internal/httpapi/server.go
Interview Domain
- Interview Service
backend/internal/interview/service.go - Agent Harness
backend/internal/harness/runtime.go - Interview State
backend/internal/interview/sqlite_persistence.go - Knowledge Retrieval
backend/internal/knowledge/interview_retriever.go - Offline Evaluation
backend/evals/runner.go
Material Analysis
- Typed Profile
backend/internal/profile/extractor.go - JD Matching
backend/internal/jobmatch/agent.go - Resume Diagnosis
backend/internal/resumediagnosis/agent.go - JD Crawler
backend/internal/webcrawler/agent.go
AI and Speech
- LLM Gateway
backend/internal/llm/client.go - MiMo Speech
backend/internal/speech/mimo.go
Other components
- Candidate
- LLM Provider
- MiMo Service
Connections 19
- Candidate → Preparation UI: provides materials
- Preparation UI → Web BFF: submits requests
- Web BFF → HTTP API: forwards requests
- HTTP API → Interview Service: dispatches interview
- Interview Service → Agent Harness: runs agents
- Interview Service → Knowledge Retrieval: retrieves evidence
- Interview Service → Interview State: persists state
- Agent Harness → LLM Gateway: requests generation
- LLM Gateway → LLM Provider: sends model requests
- HTTP API → JD Matching: dispatches matching
- HTTP API → Resume Diagnosis: dispatches diagnosis
- HTTP API → JD Crawler: dispatches crawling
- HTTP API → MiMo Speech: dispatches transcription and speech
- MiMo Speech → MiMo Service: sends audio requests
- HTTP API → Typed Profile: extracts typed evidence
- HTTP API → Web BFF: returns results
- Web BFF → Interview and Reports: supplies results
- Interview and Reports → Candidate: shows feedback
- Offline Evaluation → Agent Harness: evaluates behavior