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
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 through a LiveKit agent, 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 and web app, a supervisor spawns the worker and LiveKit as children, and a SQLite database holds everything.
| Path | What it owns |
|---|---|
shared/ |
Contracts (@di/shared): config, session/turn/report schemas |
server/ |
Hono API on Bun, supervises worker + LiveKit children |
worker/ |
@livekit/agents voice worker (STT/TTS/LLM) |
web/ |
TanStack Start SPA |
evals/ |
vitest suite + offline mock provider |
Full config reference and API table: .agents/docs/config-reference.md.