How azure-samples/interview-coach-agent-framework works
Interview Coach is a browser-based interview-practice app: users provide a resume and job description, converse with an AI coach through behavioural and technical questions, receive feedback and a summary, and can retain session records. The WebUI sends chat through AG-UI to the agent service. The agent supports single-agent and specialist handoff modes, and uses MCP tools for document extraction and session operations. InterviewData persists records in Cosmos DB. The README documents these capabilities; sampled source confirms UI-to-agent and repository persistence details, while some agent workflow wiring is documented but not sampled.
Main entry points: Program.cs Agent service · apphost.cs Aspire resource graph · AgentDelegateFactory.cs Coach workflow · Chat Chat interface
Components 17
Interview experience
- Blazor WebUI
src/InterviewCoach.WebUI/Program.cs - Chat interface
src/InterviewCoach.WebUI/Components/Pages/Chat - File upload
src/InterviewCoach.WebUI/Services/FileUploadService.cs
Agent coaching
- Agent service
src/InterviewCoach.Agent/Program.cs - Coach workflow
src/InterviewCoach.Agent/AgentDelegateFactory.cs - Triage and receptionist
src/InterviewCoach.Agent/AgentDelegateFactory.cs - Behavioural and technical
src/InterviewCoach.Agent/AgentDelegateFactory.cs - Interview summary
src/InterviewCoach.Agent/AgentDelegateFactory.cs - MarkItDown MCP
Interview records
- Session MCP tools
src/InterviewCoach.Mcp.InterviewData/InterviewSessionTool.cs - Session repository
src/InterviewCoach.Mcp.InterviewData/InterviewSessionRepository.cs - Cosmos data context
src/InterviewCoach.Mcp.InterviewData/InterviewDataDbContext.cs - Cosmos DB
Models and runtime
- Microsoft Foundry
- GitHub Copilot
- Aspire resource graph
apphost.cs
Other components
- Candidate
Connections 22
- Candidate → Chat interface: sends inputs
- Chat interface → Blazor WebUI: submits chat
- Blazor WebUI → Agent service: AG-UI requests
- Agent service → Coach workflow: runs
- Coach workflow → Triage and receptionist: dispatches
- Coach workflow → Behavioural and technical: hands off
- Coach workflow → Interview summary: produces
- Behavioural and technical → Candidate: asks and responds
- Interview summary → Candidate: returns summary
- Chat interface → File upload: uploads documents
- File upload → Agent service: posts files
- Agent service → MarkItDown MCP: requests extraction
- Agent service → Session MCP tools: calls MCP tools
- Session MCP tools → Session repository: invokes
- Session repository → Cosmos data context: reads and writes
- Cosmos data context → Cosmos DB: persists records
- Agent service → Microsoft Foundry: uses configured model
- Agent service → GitHub Copilot: uses optional provider
- Aspire resource graph → Blazor WebUI: starts
- Aspire resource graph → Agent service: starts
- Aspire resource graph → MarkItDown MCP: starts
- Aspire resource graph → Cosmos DB: provisions