Build an AI Interview App in Django: Full Series Index
The complete Build an AI Interview App series: a hands-on, build-in-public guide to building a real AI mock interview tool in Django, part by part.
Long Nguyen
Fullstack Developer · AI Engineer · Researcher
The Complete Series
This is the full index for the Build an AI Interview App series — a hands-on, build-in-public walkthrough of how I built a real AI mock interview tool in Django, from an empty folder to a working product. Each part is short and focused, and they're meant to be read in order. You can try the finished product any time, free and with no sign-up, at ai-interviewer.tech.
Unlike most tutorials that stop at a toy example or hand you an abandoned repo, this series follows the actual decisions and code behind a live app — real parsing, a real agent pipeline, and the honest trade-offs along the way.
All Parts in Order
- Part 1 — Intro, Tech Stack & Plan: why I built this, choosing the stack (Python, Django, OpenAI Agents SDK), planning the features, and scaffolding the project.
- Part 2 — Designing the Database Models: the Interview, Question, and Report models, their relationships, and first migrations.
- Part 3 — Extract Text From PDF Resumes with pdfplumber: pulling clean, AI-ready text out of PDF CVs.
- Part 4 — Extract Text From DOCX Resumes with python-docx: handling Word CVs, plus the one table caveat to know.
- Part 5 — Using the OpenAI Agents SDK in a Real Django App: structured Pydantic output, clean agent definitions, and a service wrapper.
- Part 6 — Generate Interview Questions From a Resume With AI: designing the agent flow — validate, structure, generate, and save questions.
- Part 7 — Running Background Tasks in Django Without Celery: moving parsing and AI generation off the request cycle with a subprocess worker and status polling, so the app stays responsive.
- Part 8 — Voice Input in the Browser: The Gotchas Nobody Warns You About: capturing spoken answers in the browser, and the real timing bugs around recording and transcription.
- Part 9 — Scoring Answers and Generating an AI Interview Report: scoring each answer with an agent, then summarizing the whole session into a final pass/fail report.
- Part 10 — Deploying a Django App to Production With Gunicorn & Nginx: the honest gap between a working demo and a live product — systemd, Nginx, SSL, and repeatable deploys.
All ten parts are live. Read them in order, or jump straight to the finished source below.
Want the Finished Source?
If you'd rather skip the full build and start from the finished, production-ready code, the entire application is available as a starter kit — the same source behind the live app, including the tuned prompts and the production layers the free series doesn't cover in full. It's a shortcut for builders who want to launch fast, and a genuinely unique portfolio project for students who want something real to show.
FAQ
Frequently asked questions
What is the Build an AI Interview App series?
It's a hands-on, build-in-public series that walks through building a real AI mock interview tool in Django, from an empty project to a working app. Each part is short and focused, and they're meant to be read in order.
Do I need to read the parts in order?
It helps. Each part builds on the previous one — models, then parsing, then the AI agent pipeline — so following them in sequence gives the clearest path. You can still jump to a specific part if you only need that piece.
What will I have built by the end of the free parts?
A working AI interview app that takes a real CV, extracts its text, validates it, and generates a tailored interview with an agent pipeline — a genuine, demoable project you can run and put on GitHub.
Can I get the complete source code instead of building it myself?
Yes. The full application, including the tuned prompts and production layers the free series doesn't cover in full, is available as a starter kit — the same source behind the live app at ai-interviewer.tech.
Is this suitable for students or beginners?
Yes. You need basic Python and a willingness to learn Django; the AI-specific parts are introduced gradually. The finished app also makes a strong, unique portfolio project for students and juniors.