An enterprise-grade interview preparation platform combining candidate context, automated resume parsing, RAG-grounded knowledge, and an autonomous AI agent configured in IBM watsonx Orchestrate.
π Live Application β’ π₯ Video Demo β’ β¨ Key Features β’ ποΈ Architecture β’ π€ IBM Agent β’ π Scoring Rubric β’ β‘ Quick Start β’ π‘ API Reference
Preparing for modern technical, behavioral, and HR interviews is often disjointed: static question banks provide zero feedback, generic LLM prompts lack resume awareness, and human coaching is expensive and inaccessible.
AI Interview Trainer solves this by providing an end-to-end, personalized mock interview environment powered by an Interview Trainer Agent configured in IBM watsonx Orchestrate. Candidates practice real-time, one-question-at-a-time simulations tailored specifically to their resume, target role, experience level, and target company, receiving instant multi-rubric evaluation, strength/growth breakdowns, and expert model answers.
| Technology Layer | Implementation & Role |
|---|---|
| π€ AI Agent | IBM watsonx Orchestrate β Powers autonomous question generation, answer evaluation, and coaching |
| π Knowledge Layer | RAG-based Interview Knowledge Base β Curated domain rubrics (Tech, HR, STAR, SQL, Python) |
| βοΈ Cloud Platform | IBM Cloud β Hosts the watsonx Orchestrate service and IAM security pipeline |
| π» Frontend SPA | React 19 Β· TypeScript Β· Vite Β· Tailwind CSS 4 β Deployed globally on Vercel |
| βοΈ Backend API | Node.js 20 Β· Express 4 Β· TypeScript Β· SQLite β Deployed with persistent runtime on Render |
| ποΈ Voice Engine | Dual-Tier Audio Pipeline β IBM Watson Speech (STT/TTS) with native Web Speech API fallback |
| π οΈ Development | IBM Bob β AI-assisted development workflow and rapid iteration environment |
| Feature | Static Question Banks (LeetCode/Glassdoor) | Generic AI Prompts (ChatGPT) | π― AI Interview Trainer |
|---|---|---|---|
| Resume & Profile Awareness | β No | β Automated PDF/DOCX Parsing & Synced Context | |
| Real-Time Granular Scoring | β No | β Standardized 5-Dimension Weighted Rubric | |
| One-Question Interactive Pacing | β No | β Simulated Live Interview Arena with Timer | |
| RAG Knowledge Grounding | β No | β Grounded in Enterprise Interview Rubrics | |
| Voice / Speech Practice | β No | β No | β Full Speech-to-Text & Text-to-Speech Flow |
| Comprehensive Dossier & Export | β No | β No | β Detailed Readiness Verdict & Report Dossier |
Watch the complete live walkthrough and demonstration of the deployed AI Interview Trainer system running on Vercel (Frontend) and Render (Backend):
π₯ Click here to watch the full demonstration of the deployed system (Vercel & Render) (High Definition MP4 format β Deployed Production Result)
- Automated Resume Parsing: Upload
.pdfor.docxfiles to extract work history, technical skills, and projects usingpdf-parseandmammoth. - Target Calibration: Tailor mock interviews by role (e.g., Full-Stack Engineer, Machine Learning Specialist, Data Analyst), experience tier (Fresher, Entry, Intermediate, Senior), and target company.
- π» Technical Mode: Algorithms, data structures, system architecture, database optimization, and framework internals.
- π€ HR & Culture Fit Mode: Career motivations, work ethic, interpersonal collaboration, and conflict resolution.
- β Behavioral Mode (STAR Method): Tests situational leadership and problem-solving using Situation, Task, Action, and Result frameworks.
- π Mixed Simulation: Balanced full-loop interview simulating an authentic hiring round (60% Tech, 20% HR, 20% Behavioral).
- Sequential Pacing: One-question-at-a-time delivery prevents overwhelm and simulates real interview pressure.
- Dual-Input Mode: Respond via keyboard or hands-free voice dictation.
- Model Answer Unlocks: Instant access to expert reference responses and key talking points immediately after submitting.
- Instant evaluation across 5 core competencies (Technical Accuracy, Relevance, Clarity, Completeness, Communication).
- Itemized Strengths, Key Growth Areas, and Actionable Recommendations.
- Dedicated conversational assistant powered by IBM watsonx Orchestrate.
- Supports rich Markdown tables, syntax-highlighted code snippets, and 1-click code copying.
The intelligence core of the application is an Interview Trainer Agent configured in IBM watsonx Orchestrate. The agent orchestrates context ingestion, domain grounding, and rubric execution:
flowchart TD
subgraph Context ["1. Context & Ingestion"]
CP[Candidate Profile]
RD[Parsed Resume Text]
CFG[Session Calibration]
end
subgraph AgentLayer ["2. IBM watsonx Orchestrate Core"]
Auth[IBM IAM Token Authenticator]
Agent[Interview Trainer Agent]
RAG[(RAG Knowledge Base)]
end
subgraph Operations ["3. Operational Pipeline"]
QG[Adaptive Question Generation]
EV[5-Rubric Answer Evaluation]
MA[Reference Model Answers]
CO[Conversational Career Coaching]
end
Context --> Auth
Auth --> Agent
Agent <--> RAG
Agent --> QG
Agent --> EV
Agent --> MA
Agent --> CO
- Dynamic Prompt Normalization: Candidate identity, skills, and resume excerpts are injected into structured system prompts (
promptBuilder.ts). - Secure IAM Authentication: Exchanges IBM Cloud IAM API Keys for temporary OAuth2 bearer tokens with automatic caching.
- Structured JSON Contracts: Natural language agent completions are normalized into strictly-typed TypeScript schemas via
responseParser.ts. - Development Mock Fallback: Offline mock provider (
ENABLE_MOCK_AI=true) allows local development and automated CI testing without cloud quota usage.
The Interview Trainer Agent is grounded in a Retrieval-Augmented Generation (RAG) knowledge base containing structured interview preparation resources:
- Technical Concepts: Algorithms, Data Structures, OOP, SQL/NoSQL, REST APIs, Scalability, and Cloud Architecture.
- Language Deep Dives: Specialized questions for Python, Machine Learning (PyTorch, TensorFlow, Scikit-Learn), TypeScript, and React.
- Behavioral Standards: Official STAR methodology scoring benchmarks and situational prompts.
- HR & Professional Acumen: Growth mindset, leadership principles, conflict management, and workplace ethics.
graph TD
subgraph Client ["Frontend Layer (Vercel SPA)"]
UI[React 19 + TypeScript UI]
Router[React Router DOM]
State[AppContext State Store]
VoiceClient[Web Speech Audio Client]
end
subgraph Server ["Backend API Layer (Render Web Service)"]
Express[Node.js 20 Express API]
Auth[IBM IAM Token Manager]
Prompt[Prompt Builder & Normalizer]
Resume[Resume Parser - pdf-parse & mammoth]
Score[Score Calculator Engine]
end
subgraph Persistence ["Storage Layer"]
DB[(SQLite Embedded DB)]
Uploads[Local Temporary Storage]
end
subgraph IBMCloud ["IBM Cloud & AI Infrastructure"]
Orchestrate[IBM watsonx Orchestrate API]
Agent[Interview Trainer Agent]
RAG[(RAG Knowledge Base)]
Speech[IBM Watson Speech Services]
end
UI -->|HTTPS REST| Express
VoiceClient -->|Speech Input| UI
Express --> DB
Express --> Uploads
Express --> Resume
Express --> Score
Express --> Auth
Auth -->|Bearer Token Auth| Orchestrate
Express --> Prompt
Prompt -->|Chat Completions| Orchestrate
Orchestrate --> Agent
Agent --> RAG
Express --> Speech
Candidate responses are graded across five standardized dimensions on a 0.0 to 10.0 scale:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Technical Accuracy (30%) ββββββββββββββββββββββββββββββ β
β Relevance (25%) βββββββββββββββββββββββ β
β Clarity (20%) ββββββββββββββββββ β
β Completeness (15%) ββββββββββββββ β
β Communication (10%) ββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Scoring Dimension | Weight | Evaluation Criteria |
|---|---|---|
| Technical Accuracy | 30% | Correctness of technical concepts, algorithms, syntax, architectural reasoning, and domain depth. |
| Relevance | 25% | Direct alignment with the specific prompt without off-topic filler, evasion, or generic fluff. |
| Clarity | 20% | Logical sequencing, structured communication, conciseness, and precise terminology. |
| Completeness | 15% | Coverage of edge cases, trade-offs, real-world examples, and measurable results. |
| Communication | 10% | Articulate delivery, professional tone, confidence, and stakeholder awareness. |
Modern, high-conversion landing page presenting platform capabilities, key metrics, and one-click quick starts.
Real-time analytics dashboard tracking completed interviews, average performance, best score, and skill competency bars.
Interactive profile setup with target role selection, experience level calibration, and custom skill tagging.
Automated PDF/DOCX resume ingestion with instant skill extraction and one-click profile synchronization.
Configurable setup matrix for domain, difficulty level (Easy, Medium, Hard, Adaptive), question count, and delivery mode.
Distraction-free interview arena with sequential question delivery, countdown timer, answer input, and real-time rubric feedback.
Dedicated conversational coach powered by IBM watsonx Orchestrate with support for rich markdown tables and 1-click code blocks.
In-depth evaluation dossier with overall readiness verdict, competency radar bars, demonstrated strengths, growth areas, and question audits.
| Component | Technology | Version | Purpose |
|---|---|---|---|
| Frontend Framework | React | 19.0.0 |
Modern component-driven UI architecture |
| Frontend Language | TypeScript | 5.4.2 |
Strict end-to-end static type safety |
| Build & Tooling | Vite | 8.2.2 |
Sub-millisecond HMR and optimized production bundle |
| Styling & Design | Tailwind CSS | 4.3.3 |
Modern design token system with Dark/Light themes |
| Client Routing | React Router DOM | 7.18.3 |
Declarative SPA client-side routing |
| Backend Runtime | Node.js | 20.x |
High-performance asynchronous event-driven runtime |
| Backend Framework | Express | 4.18.3 |
RESTful API server routing, middleware, and controllers |
| Database | SQLite (@databases/sqlite) |
4.0.2 |
Embedded zero-config ACID relational storage |
| Document Parsers | pdf-parse / mammoth |
1.1.1 / 1.7.2 |
Text extraction from PDF and Word documents |
| AI Orchestration | IBM watsonx Orchestrate | v2.0 |
Enterprise agent for question generation and rubric evaluation |
| Knowledge Base | RAG Knowledge Base | β | Grounded role and interview domain preparation data |
| Cloud Hosting | IBM Cloud | β | Cloud infrastructure hosting the AI service |
| Frontend Host | Vercel | β | Global edge network for React SPA hosting |
| Backend Host | Render | β | Continuous Node.js web service with persistent runtime |
| Unit Testing | Jest / ts-jest |
29.7.0 |
Comprehensive unit test suite with 100% pass rate |
| Method | Endpoint | Description |
|---|---|---|
GET |
/ |
Base health and status welcome endpoint |
GET |
/api/health |
Comprehensive health check, SQLite status, and agent connectivity |
GET |
/api/voice/status |
Voice service availability and active provider status |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/profile |
Retrieves active candidate profile data |
POST |
/api/profile |
Creates or updates candidate details, target role, and skills |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/resume/upload |
Multipart upload for .pdf and .docx; extracts text and skills |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/interview/start |
Initializes a new interview session |
POST |
/api/interview/question |
Generates the next sequential question via IBM watsonx Orchestrate |
POST |
/api/interview/evaluate |
Evaluates candidate answer across 5 rubrics and calculates score |
POST |
/api/interview/model-answer |
Retrieves expert reference model answer and talking points |
POST |
/api/interview/summary |
Finalizes interview session and generates aggregate dossier |
GET |
/api/interviews |
Lists all past interview sessions |
GET |
/api/interviews/:id |
Retrieves complete session record with questions and evaluations |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/chat |
Dispatches free-form coaching queries to the Interview Trainer Agent |
- Node.js
v18.0.0or higher (v20.xLTS recommended) - npm
v9.0.0or higher - Git
git clone https://github.com/rukeshsg/AI-Interview-Trainer.git
cd AI-Interview-Trainernpm run install:allcp .env.example .envConfigure your .env file with your credentials:
# Server Configuration
PORT=3001
NODE_ENV=development
# IBM watsonx Orchestrate Configuration
IBM_ORCHESTRATE_BASE_URL=https://api.jp-tok.watson-orchestrate.cloud.ibm.com/instances/your-instance-id
IBM_ORCHESTRATE_API_KEY=your_ibm_cloud_iam_api_key
IBM_ORCHESTRATE_AGENT_ID=your_agent_id
IBM_ORCHESTRATE_AGENT_VERSION=v2.0
IBM_ORCHESTRATE_ENVIRONMENT=live
IBM_ORCHESTRATE_AGENT_ENV_ID=your_agent_env_id
IBM_ORCHESTRATE_HOST_URL=https://jp-tok.watson-orchestrate.cloud.ibm.com
# Deployment Cross-Origin Configuration
FRONTEND_URL=http://localhost:5173
VITE_API_URL=http://localhost:3001
# Optional: IBM Watson Speech Services (STT / TTS)
IBM_STT_API_URL=
IBM_STT_API_KEY=
IBM_TTS_API_URL=
IBM_TTS_API_KEY=
# Set to true only for offline development without active IBM Cloud credentials
ENABLE_MOCK_AI=falsenpm run dev- π Frontend Application: http://localhost:5173
- βοΈ Backend API Server: http://localhost:3001
- π©Ί Health Check: http://localhost:3001/api/health
The project includes an automated Jest test suite covering parser adapters, scoring calculations, prompt normalization, and API validation:
npm test --prefix backendPASS tests/resumeParser.test.ts
PASS tests/orchestrate.test.ts
PASS tests/responseParser.test.ts
PASS tests/voice.test.ts
PASS tests/scoreCalculator.test.ts
PASS tests/validation.test.ts
Test Suites: 6 passed, 6 total
Tests: 32 passed, 32 total
Snapshots: 0 total
Time: 2.87 s
AI-Interview-Trainer/
βββ backend/ # Node.js + Express + TypeScript API Server
β βββ src/
β β βββ db/ # SQLite initialization and DAO repositories
β β β βββ database.ts # SQLite connection manager
β β β βββ schema.ts # DDL table schemas
β β β βββ repositories/ # Profile, session, question, evaluation DAOs
β β βββ middleware/ # Error handling, validation, multer upload
β β βββ parsers/ # PDF and DOCX resume text extraction
β β βββ routes/ # Express route controllers (interview, profile, chat)
β β βββ services/ # IBM watsonx Orchestrate & Speech service adapters
β β βββ types/ # Shared TypeScript interfaces
β β βββ utils/ # Prompt builder, score calculator, logger
β βββ tests/ # Jest unit test suites (32 tests passing)
β βββ tsconfig.json
β βββ package.json
βββ frontend/ # React 19 + TypeScript + Vite SPA
β βββ src/
β β βββ api/ # Axios REST client bindings
β β βββ components/ # UI component library (Buttons, Cards, Badges)
β β β βββ ui/ # MarkdownRenderer, FormControls, Feedback
β β βββ context/ # AppContext (Profile, Theme, Session state)
β β βββ layouts/ # AppLayout, Sidebar, Navbar
β β βββ pages/ # Route views (Landing, Dashboard, Setup, Mock, Report...)
β β βββ services/ # Voice service (IBM TTS/STT + Web Speech fallback)
β β βββ types/ # Frontend TypeScript type declarations
β βββ index.html
β βββ vite.config.ts
β βββ package.json
βββ docs/ # Documentation and media assets
β βββ screenshots/ # 8 curated application walkthrough screenshots
β βββ videos/ # Chat and live demo video recordings
βββ .env.example # Environment variable template
βββ .gitignore # Git ignore rules for node, data, env, build
βββ vercel.json # Vercel SPA routing configuration
βββ package.json # Workspace runner scripts (concurrently)
βββ README.md # Comprehensive project documentation
- Strict Secret Management: Sensitive credentialsβincluding IBM Cloud IAM API keys, service instance identifiers, and Speech keysβremain strictly within local
.envfiles and environment settings on Render/Vercel. - Git Protection:
.gitignoreis configured to prevent committing.env, SQLite databases (data/*.db), temporary uploads (uploads/), and build artifacts.
This project was developed as part of the IBM SkillsBuild / AICTE Internship in Artificial Intelligence project track:
- Problem Statement: Problem Statement No. 22 β Interview Trainer Agent
- IBM Bob: Used as the primary AI-assisted development workflow.
- IBM watsonx Orchestrate: Serves as the core AI agent and orchestration platform.
- IBM Cloud: Cloud infrastructure hosting the watsonx Orchestrate services.
Disclaimer: This application is an independent educational and portfolio project implementation. It is not an official IBM product and is not endorsed by IBM.
- π Live Frontend (Vercel): https://ai-interview-trainer-eight.vercel.app/
- βοΈ Live Backend API (Render): https://ai-interview-trainer-backend-5s3m.onrender.com
- π©Ί Backend Health Check: https://ai-interview-trainer-backend-5s3m.onrender.com/api/health
- π GitHub Repository: https://github.com/rukeshsg/AI-Interview-Trainer
- π₯ Deployed Video Demonstration: docs/videos/deployed-system-demo.mp4






