Practice interviews with a real-time AI voice agent. Runs entirely on your machine.
🇬🇧 en · 🇩🇪 de · 🇪🇸 es · 🇫🇷 fr · 🇯🇵 ja · 🇧🇷 pt-br · 🇨🇳 zh-cn · 🇰🇷 ko · 🇮🇹 it · 🇸🇦 ar · 🇮🇳 hi · 🇻🇳 vi
Want your coding agent to clone, build, and drive a full interview session for you (no API keys needed)? Point it at this one-liner:
curl -fsSL https://raw.githubusercontent.com/espetro/dits/refs/heads/main/.agents/docs/setup-prompt.mdPaste the output into the agent as its task.
See docs/setup.md for the full step-by-step guide: download a release or build from source, configure a real LLM/STT/TTS provider, and run your first interview.
- Reads a CV/job description and turns it into an interview plan (preset or custom prompt).
- Runs a real-time voice interview over WebSocket, backed by any OpenAI-compatible LLM, STT, and TTS provider (OpenAI, Ollama, vLLM, ...).
- Grounds the agent's questions in your uploaded documents via retrieval.
- Produces a transcript and a scored report at the end, kept in local history.
- Self-hosted and local-first: one process serves the API, web app, and in-process voice pipeline, and a SQLite database holds everything.
| Path | What it owns |
|---|---|
packages/shared/ |
Contracts (@di/shared): config, session/turn/report schemas |
apps/server/ |
Hono API on Bun, in-process WebSocket voice pipeline |
apps/web/ |
TanStack Start SPA |
packages/evals/ |
vitest suite + offline mock provider |
Full config reference and API table: .agents/docs/config-reference.md.