An AI-powered mock interview coach. Practice technical and behavioral interviews with real-time feedback, resume parsing, and session tracking.
Live Demo: https://www.openagentsbox.com/interview
- Mock Interviews — Conduct full mock interviews in text or voice mode. Choose interview type (technical, behavioral, system design) and difficulty.
- Resume Parsing — Upload a PDF resume and have it automatically parsed into structured data to personalize interview questions.
- Real-time Scoring — Get scored on each answer with detailed feedback after the session.
- Session History — Review past interview sessions, transcripts, and performance reports.
- Job Match Analysis — Paste a job description to get a match analysis against your resume.
- Multi-model Support — Works with Anthropic (Claude) and OpenAI (GPT) models. Switch models per role in settings.
Visit https://www.openagentsbox.com/interview — no installation needed.
- Click the key icon (top-right) to set your Anthropic or OpenAI API key.
- Add a company and create a new interview session.
- Start practicing.
Your API key is stored locally in your browser and never sent to our servers except to forward to the LLM provider.
Run the full stack locally with a single Docker image (frontend + backend bundled together).
Requirements: Docker
docker build -f Dockerfile.standalone -t interview-standalone .Copy the example env file and fill in your API keys:
cp .env.example .envEdit .env:
STORAGE_MODE=local
API keys are not required in
.env. Users enter their own Anthropic or OpenAI key directly in the app UI — keys are stored in the browser and never saved on the server.
Windows (PowerShell):
docker run -p 8000:8000 --env-file .env -v "${PWD}\data:/app/data" interview-standalonemacOS / Linux:
docker run -p 8000:8000 --env-file .env -v "$(pwd)/data:/app/data" interview-standaloneOpen http://localhost:8000/interview in your browser.
Data persistence: All your data (resume, companies, sessions, reports) is stored in the
data/folder on your local machine. Deleting or recreating the container will not affect your data as long as you keep thedata/folder and mount it with-v.
The interview agent is built around a tool-loop pattern inspired by Claude Code's task tracking:
The LLM is given a pre-generated task list (interview questions/topics) at session start. On every user reply, the agent runs a while True loop:
check_task— reads the current task list and which task isin_progress- The LLM conducts the interview, asking follow-up questions as needed
update_task— when the candidate has sufficiently answered, mark the task complete with a score (1–10) and a private evaluation note- Move to the next task — repeat until all tasks are
completed - Return final reply with
all_finished = True→ frontend shows the session end screen
This gives the agent a persistent, inspectable sense of progress across multi-turn conversations without relying on the LLM's memory alone.
CC BY-NC 4.0 — Free to use and modify for non-commercial purposes. Attribution required.
- Frontend: React + TypeScript + Vite + Tailwind CSS
- Backend: FastAPI + LiteLLM + Instructor
- LLM: Anthropic Claude / OpenAI GPT (user-provided API key)