Back to projects

AI Interview Agent

PythonAILLMsStreamlitDockerOllama

Overview

Most interview prep tools are either generic question banks or expensive subscription services that send your data to the cloud. This is neither. It runs entirely on your own machine using a local AI model — your CV and your answers never leave your computer.

Upload a CV, describe the role you're going for, and the agent conducts a full mock interview tailored to you. When you're done, you get a detailed feedback report with scores across five competency areas and specific notes on every answer.

What it does

  • Parses your CV as a PDF and uses it to generate role-relevant, personalised questions
  • Supports five interview formats: Mixed, Phone Screen, Technical Deep-Dive, Behavioural Panel, and Final Round
  • Three difficulty levels from warm and encouraging through to direct and demanding
  • Produces a scored feedback report at the end, downloadable as a PDF
  • Includes a follow-up chat coach so you can interrogate your own feedback ("what would a stronger answer to question 3 have looked like?")
  • Demo mode lets you explore the app without uploading anything

Tech stack

  • Streamlit — frontend and session management
  • LangChain + langchain-ollama — LLM orchestration and agent logic
  • Ollama (llama3.2) — local AI model, runs on CPU, no API key required
  • PyMuPDF — CV parsing and PDF handling
  • fpdf2 — feedback report generation
  • Plotly / Pandas — competency score visualisation
  • Docker — single-command setup, no environment conflicts

Why local?

The whole point of this tool is honest, pressure-free practice. If your interview answers are being processed by a third-party API, you're going to hold back — or at least think about it. Running the model locally removes that entirely. It also means it works offline once set up, which is useful if you want to practice somewhere without reliable internet.

The trade-off is that local models are slower than API-hosted ones. On a laptop without a GPU, responses take 10–30 seconds. That's slower than a cloud model, but it's fast enough that it doesn't break the flow of a practice interview.

How it works

The agent reads the CV and job role at the start of the session and builds a question plan based on the selected format and difficulty. Each question is generated in context — the agent knows what it's already asked and adapts. At the end, every answer is evaluated against the role and the question intent, and the results are aggregated into the feedback report.

Session state is handled entirely in memory within the Streamlit session — nothing is written to disk beyond the downloaded report.