Skip to content

Latest commit

Β 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

⚑ Bit-Interview β€” Next-Gen AI Technical Interview Simulator

"Practice like it's real."

React Vite Tailwind CSS FastAPI LangGraph Python MongoDB Redis

An production-grade, stateful AI interview platform featuring adaptive LangGraph agent workflows, real-time voice interaction, Monaco coding sandbox with Judge0 execution, PDF resume extraction, ATS Job Description matching, and proctored session analytics.


πŸ“Έ Product Interface Showcase

1️⃣ Next-Gen AI Landing & 3D Interactive Showcase

Bit-Interview Landing Page

2️⃣ Candidate Portal Authentication Gateway

Secure Candidate Login Portal

3️⃣ Candidate Readiness & Progress Dashboard

Candidate Diagnostics Dashboard

4️⃣ Stateful Session Setup Wizard

Stateful Setup Wizard Modal


πŸ› οΈ Complete Technical Architecture

Layer Technology Purpose & Implementation
Frontend Framework React 19 + Vite 8 High-performance SPA with fast hot-module replacement
Styling & Design System Tailwind CSS 4 Custom Light Mode design system with Indigo/Violet gradients
Animations Framer Motion Micro-interactions, slide transitions, and glowing badges
Iconography Lucide React Clean, modern SVG UI icons
Routing React Router 6 Client-side view router with protected user session guards
Analytics Charts Recharts Skill Proficiency Radar & Readiness Trajectory graphs
In-Browser IDE Monaco Editor VS-Code powered code editor for live coding rounds
Backend Framework Python 3.11 + FastAPI Asynchronous high-throughput REST API & WebSockets server
AI Agent Orchestration LangGraph + LangChain Stateful adaptive interviewer workflow DAG & decision engine
LLM Engine Gemini 2.5 Pro / OpenAI Question generation, code evaluation, & evidence feedback
NLP Processing HuggingFace Transformers Text classification & semantic response evaluation
Embeddings Sentence Transformers Semantic similarity matching between Resume and JD
Machine Learning Analytics Scikit-learn Candidate readiness trajectory scoring & anomaly analytics
Primary Database MongoDB / MongoDB Atlas Persistence for Users, Resumes, Sessions, Reports & Transcripts
Database Driver PyMongo / Motor Async Python database driver for high concurrency
Session Cache Redis / Redis Cloud Sub-millisecond live interview buffer & WebSocket state cache
Real-time Engine WebSockets / Socket.IO Low-latency live interview streaming events
Speech Input Web Speech API β†’ Whisper Speech-to-text transcript generation with voice activity
Voice Output SpeechSynthesis β†’ TTS Provider Natural AI voice question narration with speed selector
Code Execution Sandbox Judge0 Isolated remote execution engine for Python, JS, C++, Java
Document Intelligence PyMuPDF (fitz) Layout-aware PDF resume text and structure parser
Authentication & Security JWT + Passlib (bcrypt) Secure token session handling and password hashing
API Client Axios Intercepted HTTP request client for REST endpoints

πŸ—οΈ System Architecture Diagram

                               +-----------------------------------+
                               |       React 19 + Vite Frontend    |
                               | (Monaco IDE, Speech, Recharts UI) |
                               +-----------------------------------+
                                                 |
                                     REST APIs / WebSockets
                                                 |
                                                 v
                               +-----------------------------------+
                               |       FastAPI Async Gateway       |
                               |    (Authentication & Gateways)    |
                               +-----------------------------------+
                                    /            |            \
                                   /             |             \
                                  v              v              v
      +-------------------------------+   +-------------+   +-------------------+
      |      LangGraph AI Engine      |   |   Judge0    |   | PyMuPDF Document  |
      |  (Stateful Adaptive Agent)    |   | Execution   |   | PDF Resume Parser |
      +-------------------------------+   +-------------+   +-------------------+
          /          |          \                |                    |
         v           v           v               v                    v
  +-----------+ +--------+ +-----------+   +-----------+    +-------------------+
  | Question  | | Eval   | |  Decision |   | Sandboxed |    | Candidate Profile |
  |   Agent   | | Agent  | |   Engine  |   | Code Run  |    |  & Skill Cloud    |
  +-----------+ +--------+ +-----------+   +-----------+    +-------------------+
        \            |           /               
         +-----------+-----------+               
                     |                           
                     v                           
           +--------------------+                
           | Redis Live State   |                
           |  Session Buffer    |                
           +--------------------+                
                     |                           
                     v                           
        +--------------------------+             
        |  MongoDB Atlas Database  |             
        +--------------------------+             

🧠 LangGraph Adaptive Interview Workflow

Bit-Interview uses a stateful LangGraph Agent Network to ensure the interviewer acts as an experienced lead engineer rather than a simple Q&A bot.

graph TD
    A[START: Initialize Session] --> B[Load Candidate Resume & Target JD Context]
    B --> C[Create Adaptive Interview Plan]
    C --> D[Generate Tailored Question]
    D --> E[Deliver via Voice TTS & Live UI]
    E --> F[Receive Candidate Answer / Speech / Code]
    F --> G[Evaluate Technical Accuracy & Clarity]
    G --> H{LangGraph Decision Engine}
    H -->|Insufficient Depth| I[Trigger Interruption / Hint]
    H -->|Strong Answer| J[Increase Difficulty Level]
    H -->|Vague / Edge Case Missing| K[Ask Specific Follow-Up]
    H -->|Round Complete| L[Generate Evidence Report]
    I --> D
    J --> D
    K --> D
    L --> M[END: Save Scorecard to MongoDB]
Loading

🎯 Adaptive Decision Signals

  1. Silence / Delay Interruption: Triggers "Would you like to walk me through your current thinking?" when candidate stays silent.
  2. Rambling Interruption: Triggers concise redirection when candidate response exceeds optimal brevity thresholds.
  3. Vague Answer Challenge: Identifies missing edge cases or hand-waving and requests concrete code/architectural trade-offs.

🌟 Core Features & Modules

πŸŽ™οΈ 1. Adaptive AI Live Room

  • Real-Time Voice Narration: Auto-voice readout with customizable speed selector (0.85x - 1.5x) and Speech-to-Text transcript recorder.
  • Monaco Editor Integration: In-browser coding environment supporting JavaScript, Python, C++, and Go with instant execution feedback via Judge0.
  • Dynamic Difficulty Scaling: Live difficulty meter tracking real-time difficulty levels (Easy β†’ Medium β†’ Hard β†’ Advanced).

πŸ“„ 2. Resume Intelligence Hub

  • PyMuPDF Extraction: Extracts structured skills, project portfolios, work experience, and educational background from PDF uploads.
  • Context-Aware Interviewing: AI asks deep-dive questions targeting actual projects, frameworks, and architecture choices listed on candidate's resume.

🎯 3. ATS Job Description Matcher

  • Semantic Resume-to-JD Matching: Compares candidate background with target company JDs (e.g. Stripe, Vercel, Meta) using Sentence Transformers.
  • ATS Resume Bullet Generator: Generates high-impact accomplishment bullets tailored for applicant tracking systems.

πŸ›‘οΈ 4. AI Anti-Cheat & Proctoring Engine

  • Browser Integrity Monitoring: Logs tab switches, window blur events, and focus loss during live sessions.
  • Webcam Proctoring: Optional video preview calculating a real-time Session Integrity Score %.

πŸ“Š 5. Comprehensive Diagnostic Reports

  • Category Breakdown: Evaluates Technical Depth, Coding Accuracy, Problem Solving, Communication, and System Architecture.
  • Evidence-Based Feedback: Links actionable recommendations directly to transcript timestamps.
  • 7-Day Technical Study Roadmap: Customized daily plan to strengthen detected skill gaps.

πŸ’Ό 6. Employer & Recruiter Portal

  • Candidate Leaderboard: Rank applicants across tracks with integrity flags and diagnostic scorecards.
  • Talent Pipeline Tracker: Manage candidates by active Job Description assessments.

πŸ“ Project Directory Structure

interview/
β”œβ”€β”€ README.md                           # Master Project Documentation
└── intervue-ai/
    β”œβ”€β”€ docs/
    β”‚   └── images/                     # Screenshots & Diagrams
    β”‚       β”œβ”€β”€ landing_hero_cartoon.png
    β”‚       β”œβ”€β”€ candidate_login.png
    β”‚       β”œβ”€β”€ candidate_dashboard.png
    β”‚       └── setup_wizard.png
    β”‚
    β”œβ”€β”€ frontend/                       # React 19 + Vite Frontend
    β”‚   β”œβ”€β”€ src/
    β”‚   β”‚   β”œβ”€β”€ components/
    β”‚   β”‚   β”‚   β”œβ”€β”€ DashboardNavbar.jsx         # Frosted Light Mode Navbar
    β”‚   β”‚   β”‚   β”œβ”€β”€ VoiceInterviewerControls.jsx# Speech-to-Text & Narration
    β”‚   β”‚   β”‚   β”œβ”€β”€ MonacoCodeEditor.jsx        # In-browser Code IDE
    β”‚   β”‚   β”‚   β”œβ”€β”€ ProctoringWidget.jsx        # Anti-Cheat Audit Monitor
    β”‚   β”‚   β”‚   └── AnalyticsCharts.jsx         # Radar & Trajectory Visualizers
    β”‚   β”‚   β”œβ”€β”€ pages/
    β”‚   β”‚   β”‚   β”œβ”€β”€ DashboardPage.jsx           # Candidate Control Center
    β”‚   β”‚   β”‚   β”œβ”€β”€ InterviewPage.jsx           # Live Adaptive AI Room
    β”‚   β”‚   β”‚   β”œβ”€β”€ ResumePage.jsx              # Resume Intelligence Hub
    β”‚   β”‚   β”‚   β”œβ”€β”€ JDAnalyzerPage.jsx          # ATS Resume & JD Matcher
    β”‚   β”‚   β”‚   β”œβ”€β”€ InterviewReportPage.jsx     # Diagnostic Scorecard Report
    β”‚   β”‚   β”‚   └── RecruiterDashboardPage.jsx  # Employer Leaderboard
    β”‚   β”‚   β”œβ”€β”€ index.css                       # Tailwind Design System Tokens
    β”‚   β”‚   └── App.jsx                         # Main Router Setup
    β”‚   └── package.json
    β”‚
    └── backend/                        # FastAPI + LangGraph Backend
        β”œβ”€β”€ app/
        β”‚   β”œβ”€β”€ main.py                     # API Application Entrypoint
        β”‚   β”œβ”€β”€ routes/                     # Interview, Resume, JD & Recruiter Endpoints
        β”‚   β”œβ”€β”€ services/                   # LangGraph Agent, PyMuPDF & LLM Services
        β”‚   β”œβ”€β”€ core/                       # Security, JWT & Config Setup
        β”‚   └── models/                     # MongoDB Pydantic Data Models
        β”œβ”€β”€ requirements.txt
        └── .env.example

⚑ Local Setup & Installation

Prerequisites

  • Node.js: v18+
  • Python: v3.11+
  • MongoDB: Local instance or MongoDB Atlas URI
  • Redis: Local server or Redis Cloud instance

1. Environment Configuration

Create backend/.env file:

MONGODB_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/bit_interview
JWT_SECRET=your_super_secret_jwt_key_here
REDIS_URL=redis://localhost:6379
GEMINI_API_KEY=your_gemini_api_key_here
OPENAI_API_KEY=your_openai_api_key_here
JUDGE0_URL=https://judge0-ce.p.rapidapi.com
CORS_ORIGIN=http://localhost:5173

2. Backend Installation & Launch

cd intervue-ai/backend

# Create virtual environment
python -m venv venv

# Activate virtual environment
# Windows:
.\venv\Scripts\activate
# Linux/macOS:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Start FastAPI server
uvicorn app.main:app --reload --port 8000

Backend API will be running live at http://localhost:8000.

3. Frontend Installation & Launch

cd intervue-ai/frontend

# Install dependencies
npm install

# Start Vite dev server
npm run dev

Frontend Web Application will be live at http://localhost:5173.


πŸ“„ License & Attribution

Distributed under the MIT License. See LICENSE for more information.

Built with ❀️ by Khushal Kumar β€’ Powered by LangGraph, FastAPI, React 19 & Gemini AI

About

Next-Gen AI Technical Interview Simulator powered by LangGraph, FastAPI, React 19, Monaco Editor, Judge0, and real-time voice interaction.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages