Capstone· 30 min

InterviewerBOT — AI Mock Interview Simulator

What you'll learn
  • Run a full-stack React + Express application with OpenAI integration
  • See real-time streaming from the OpenAI Node.js SDK
  • Understand the request flow from frontend to AI and back

InterviewerBOT is a full-stack application: a React 19 + Vite frontend talks to an Express backend that calls the OpenAI API. The bot conducts mock interviews, evaluates your answers in real time, and renders feedback in Markdown.

Architecture

  • Frontend — React 19, Vite, Tailwind, react-router-dom, react-markdown
  • Backend — Express, OpenAI Node.js SDK, uuid for sessions
  • Communication — REST API (axios), streaming responses

Setup — backend

$ cd InterviewerBOT/server
$ npm install
server/.env
OPENAI_API_KEY=sk-...your-key-here...
$ npm run dev

The backend starts on http://localhost:3001 (or the port in your config).

Setup — frontend

Open a second terminal:

$ cd InterviewerBOT/client
$ npm install
$ npm run dev

The frontend starts on http://localhost:5173. Open it in your browser.

How to use

  1. Open http://localhost:5173 in Chrome/Firefox
  2. Pick an interview topic or enter a custom one
  3. The bot asks interview questions one by one
  4. Type your answer — the model evaluates it in real time
  5. Feedback is rendered as styled Markdown
Learning exercise
Read server/src/services/ to see how streaming works with the OpenAI Node.js SDK. Try adding a new route that summarises the full interview at the end.
What this project teaches
Full-stack AI integration: React state management, Express API routes, OpenAI streaming, session handling, and Markdown rendering.