InterviewIQ is an enterprise-grade AI technical interview simulation and assessment platform. It conducts dynamic, multi-turn technical interviews, analyzes real-time video and audio signals, executes deterministic multimodal evaluations, and delivers performance dashboards with downloadable PDF scorecards.
Frontend (React 18 + Vite + Tailwind CSS + MediaPipe Vision)
│
▼
Backend API (FastAPI + Python 3.11 + Uvicorn)
│
├── Authentication & Session State (JWT + InterviewStateManager)
│
├── Groq Interview Agent (Multi-turn Orchestrator)
│ │
│ ▼
│ Tool Registry (Dynamic Tool Execution)
│ ├── Question Generation & Contextual Follow-up
│ ├── Answer Evaluation & Lifecycle State
│ ├── Computer Vision & Behavioral Analysis
│ ├── Deterministic Final Scoring
│ └── Performance Report Compilation
│
├── Deterministic Scoring Pipeline
│ AnswerEvaluator ──► EvidenceAggregator ──► ScoringEngine ──► FinalEvaluator
│
└── Database (PostgreSQL via SQLAlchemy 2.0 & Alembic)
- Finite state machine governing session states:
CONFIGURED→STARTED→IN_PROGRESS→COMPLETED/CANCELLED. - Atomic session history, question sequencing, and timing tracking.
- Modular tool registry with strong Pydantic schemas, dependency injection (database session, active user), and error encapsulation.
- Registers all 9 operational tools:
generate_interview_questiongenerate_follow_up_questionevaluate_answerget_interview_stateupdate_interview_stateanalyze_faceanalyze_behaviorcalculate_final_evaluationgenerate_interview_report
- Single orchestrator using high-speed Groq LLM inference to manage conversation turns and invoke registered tools.
- Computer Vision: Tracks facial landmarks, head pose orientation, and eye gaze alignment using MediaPipe.
- Speech & Behavior: Analyzes vocal cadence (WPM), response duration, latency, and linguistic structure.
- Persists all observations to the
multimodal_evidencedatabase table.
- Replaces non-deterministic LLM scoring with an explainable, weighted formula:
- Answer Quality (Technical & Content Mastery): 70%
- Behavioral & Communication Cadence: 15%
- Visual Engagement & Presence: 15%
- Provides per-question breakdowns, pillar confidence indicators, strengths, and areas for improvement.
- Interactive results dashboard featuring score cards, competency breakdowns, and evidence transparency.
- Production ReportLab engine generating multi-page, formatted PDF reports with visual scorecards and downloadable artifacts.
- Python 3.10 or 3.11
- Node.js 18+ (Node 20 recommended)
- PostgreSQL 14+
- Groq API Key
cd backend
# 1. Configure environment
cp ../.env.example .env
# Edit .env with your DATABASE_URL and AI_API_KEY
# 2. Install dependencies
pip install -r requirements.txt
# 3. Run database migrations
alembic upgrade head
# 4. Start backend server
uvicorn main:app --reload --host 127.0.0.1 --port 8000- API Health Check:
http://localhost:8000/api/v1/health - Interactive OpenAPI Docs:
http://localhost:8000/docs
cd frontend
# 1. Install dependencies
npm install
# 2. Run development server
npm run dev- Web Application:
http://localhost:5173
cd backend
pytest -vcd frontend
npm run buildInterviewIQ/
├── backend/
│ ├── app/
│ │ ├── agents/interview/ # Groq Interview Agent
│ │ ├── ai/ # AI Providers (Groq, STT, TTS, Vision)
│ │ ├── api/ # FastAPI Endpoints & Routers
│ │ ├── core/ # Config, Database, Scoring weights, Security
│ │ ├── evaluation/ # Deterministic Final Evaluation & Aggregation
│ │ ├── models/ # SQLAlchemy 2.0 Database Models
│ │ ├── schemas/ # Pydantic Schemas & DTOs
│ │ ├── services/ # Core Business Logic Services
│ │ └── tools/ # Unified Tool Architecture & 9 Operational Tools
│ ├── alembic/ # Database Migrations
│ ├── models/ # ML Model Binaries (MediaPipe Face Landmarker)
│ ├── scripts/ # Database Seeding & Development Scripts
│ ├── tests/ # Pytest Test Suite
│ └── requirements.txt # Production Python Dependencies
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable UI, Interview, Results, & Report Components
│ │ ├── context/ # React Contexts (Auth, Interview, Resume, Theme)
│ │ ├── hooks/ # Audio, Face Detection, & Utility Hooks
│ │ ├── layouts/ # Main, Auth, & Workspace Layouts
│ │ ├── pages/ # Top-level Page Views (Dashboard, Interview, Results, Reports)
│ │ ├── routes/ # App Routing & Route Guards
│ │ ├── services/ # API Client & Backend Interaction Services
│ │ └── utils/ # Style & Constant Utilities
│ ├── public/ # Static Assets
│ └── package.json # Frontend Dependencies & Scripts
├── docs/
│ ├── architecture/ # System Architecture Documentation
│ └── deployment/ # Deployment & Operations Guide
├── .env.example # Consolidated Environment Configuration Template
├── .gitignore # Version Control Exclusions
└── README.md # Repository Guide & Documentation
MIT License.