"Bridging technical competency and behavioral biometrics in a singular, state-of-the-art diagnostic environment."
Empowering candidates to conquer high-pressure technical screenings, and offering administrators a unified dashboard to monitor progression.
Important
π Live Web Application (Frontend): https://prep-ai-smoky-five.vercel.app/
β‘ Live Server Application (Backend): https://prep-ai-37pj.onrender.com
Note: The server application is hosted on Render's cloud cluster. Please allow 1-2 minutes on the first load for the free tier web container to spin up from cold sleep state.
Traditional interview preparation platforms are static and passive. PrepAI disrupts this model by introducing a synchronous diagnostic loop correlating technical, behavioral, and acoustic vectors in real-time.
| Feature Category | Traditional Tools | PrepAI AI Hybrid |
|---|---|---|
| Interviewer Presence | Static Question List | Google Gemini AI Agent with contextual follow-up memory |
| Behavioral Feedback | None | MediaPipe / OpenCV face posture & gaze metrics |
| Speech Analytics | Standard Recording | Librosa YIN acoustic confidence & stress classification |
| Voice Interaction | Text-only input | HTML5 Speech Recognition (Voice-to-Text) |
| Code Submissions | Basic Compiler | Neural Monaco IDE with automated space/time complexity reviews |
PrepAI implements custom-trained pipelines directly in the /ml directory, processing candidate behavioral signals locally on frame-by-frame feeds:
graph TD
A[Raw Candidate Stream] --> B[Computer Vision Pipeline]
A --> C[Acoustic Processing Pipeline]
B --> B1["MediaPipe Pose Tracking (Shoulder/Hip)"]
B --> B2["OpenCV solvePnP (3D Head Rotation)"]
B --> B3["EAR (Eye Aspect Ratio Blink tracking)"]
C --> C1["Librosa RMS (Energy & Confidence)"]
C --> C2["YIN Algorithm (Voiced Pitch Jitter)"]
C --> C3["Split effects (Speech-to-Silence Fluency)"]
Uses the MediaPipe Pose solution to track spatial alignments:
- Maps spatial metrics for key joints (
LEFT_SHOULDER,RIGHT_SHOULDER,LEFT_HIP, andRIGHT_HIP). - Implements inverse tangent equations to check angular slopes:
$$\theta_{\text{shoulder}} = \text{deg}\left(\arctan2\left(Y_{\text{right}} - Y_{\text{left}}, X_{\text{right}} - X_{\text{left}}\right)\right)$$ - Detects if a candidate is slouching, exhibiting signs of discomfort, or shifting away from the focal frame during high-intensity scenarios.
-
3D Head Pose Mapping: Implements
cv2.solvePnP(Perspective-n-Point) to calculate 3D head rotation angles (Pitch, Yaw, Roll) based on MediaPipe coordinates mapped to standard 3D human facial vectors. Logs warnings if rotation exceeds a$15^\circ$ angle (detecting if candidates are looking away to read notes). - Eye Aspect Ratio (EAR) Blink Detection: Integrates dynamic vertical-to-horizontal eye aspect equations to compute eye fatigue levels while suppressing blinks during vocal mouth movement (talking detector integration).
-
Confidence Metrics: Analyzes root-mean-square (RMS) energy (
librosa.feature.rms) from acoustic waveforms to measure voice volume. -
Nervousness Jitter: Runs the YIN Pitch Algorithm (
librosa.pyin) over voiced speech. Pitch standard deviation ($\sigma_{f0}$ ) variation is measured to identify stress indicators. -
Fluency Index: Utilizes silent-interval splits (
librosa.effects.split) to evaluate speech-to-pause ratios, identifying verbal hesitations.
- ποΈ Dynamic Scenario Simulator (Mock Interviews):
- Context-Aware AI Interviewer: Generates highly tailored questions based on your specific job role, target industry, and uploaded resume contents.
- Conversational Persistence: The AI remembers your responses, asking challenging, deep-dive follow-up questions to test your architectural limits.
- Speech Narration: Immersive vocal readings of prompt cards using HTML5 Web Speech.
- Comprehensive Scorecards: Instant breakdowns of your Clarity, Technical Accuracy, and Confidence with actionable improvement recommendations.
- π» The Neural Coding Dojo (Algorithmic IDE):
- Professional IDE: Integrated Monaco Editor supporting full syntax highlighting, autocompletion, and multiple programming languages (Python, Javascript, Java, C++).
- Deep AI Code Review: Instantly analyzes code submissions, pointing out time/space complexity (Big-O), potential edge cases, logic bugs, and SOLID/DRY violations.
- π ATS Resume Scorer & Global Vault:
- Semantic Scoring Model: Compares your resume structure and phrasing against specific target descriptions.
- ATS Diagnostics: Identifies critical keyword gaps, missing technical skills, and ATS bot counter-measures.
- Global Resume Sync: Upload a resume once, and it propagates instantly to guide custom questions generated in mock interviews.
- π§ Smart Onboarding & Unified Dashboard:
- Tailored Roadmap: A brief, three-question personalized onboarding flow mapping out your level, education, and target stack.
- Interactive Analytics: Visually track your mock interview history, code challenge completions, and progression trends.
- AI Chatbot Companion: A floating conversational helper present on your dashboard to provide immediate system tips and technical guidance.
PrepAI includes a completely separate, highly secure, and visually striking Administrator Panel designed to oversee the ecosystem's usage metrics:
- π Strict Role Protection: Access-guarded routes ensure candidate accounts cannot reach administration endpoints.
- π Single-Page Visual Control Room:
- Active Registration Metrics: Displays a single, premium total member tracker card.
- 7-Day Growth Trend: Full-width SVG area chart tracking daily member growth and candidate registration trends over the past week.
- Candidates Preview: A concise grid preview showing the 5 most recent registrations.
- "See More" Pagination: Quick redirection pathway to the exhaustive candidate logs database.
- π Searchable Candidate Register (
/admin/users):- Complete Log Search: Allows admins to search the full directory of candidate profiles by Name or Email address.
- Detailed Analytics Columns: Tracks candidate Email IDs, solved dojo problems, average mock interview scores, total interviews completed, and onboarding status.
- ποΈ Deep-Dive Activity Popup:
- Clicking a candidate's name from either directory triggers a comprehensive dashboard overlay panel.
- π Mock Score Progression Chart: An SVG line chart rendering that specific user's score history chronologically across interviews.
- β‘ 7-Day Engagement Chart: To chart daily activity count frequencies (interviews, code submissions, resumes uploaded) for that candidate.
- π Live Activity Feed: A structured timeline logging every technical activity, challenge submitted, or resume uploaded with precise timestamps.
- π§© Tailored Navigation Focus: Sidebar menus, user profiles, and floating chatbots are automatically hidden when an admin logs in to ensure the dashboard remains fully dedicated to system analytics. A secure Sign Out button is permanently anchored to the sticky top header.
Prep_AI/
βββ frontend/ # The Reactive Visual Interface (React/Vite)
β βββ src/
β β βββ components/ # Reusable Atomic UI Components
β β β βββ ProtectedRoute.jsx # Route guarding for authentication tiers
β β β βββ Layout.jsx # Custom frame layout handling admin vs user contexts
β β βββ context/ # Centralized State Management
β β β βββ AuthContext.jsx # Session state, login credentials, and user data flow
β β βββ pages/ # Page View Controllers
β β β βββ Dashboard.jsx # User dashboard showing mock history & resume uploads
β β β βββ CodingDojo.jsx # Algorithmic code editor workspace with Monaco engine
β β β βββ Onboarding.jsx # Personalized 3-question profile builder
β β β βββ InterviewLive.jsx # Vocal simulation featuring Speech Synthesis and face-api.js
β β β βββ AdminDashboard.jsx# Admin visual headquarters with SVG growth trend charts
β β β βββ AdminUsersList.jsx# Exhaustive searchable catalog of candidate records
β β βββ routes/
β β β βββ AppRoutes.jsx # Global router linking pages and layout wrappers
β β βββ services/
β β β βββ api.js # Unified central Axios client handling credentials and headers
β β βββ index.css # Main styling system, layout constants, and variables
β βββ package.json # Frontend modules, Monaco editor, and Lucide react settings
βββ backend/ # The Neural Operations Core (Flask)
β βββ routes/ # Blueprint-based modular API Endpoints
β β βββ auth.py # User onboarding, verification, and session creation
β β βββ interview.py # Dynamic scenario simulators and transcription feedback
β β βββ dojo.py # Code evaluation engine and algorithmic constraints
β β βββ admin.py # Candidate directories, chronologies, and metrics
β βββ utils/ # Signal Processing & Parser Providers
β β βββ ai_helpers.py # Google Gemini / Llama 3 custom system orchestrations
β β βββ audio_helpers.py # Librosa root-mean-square energy and YIN pitch variation
β β βββ cv_helpers.py # Head posture alignment and gaze vector tracking
β β βββ auth_helpers.py # JWT creation, decoding, and admin checks
β βββ models/ # Database schemas
β β βββ database.py # MongoDB aggregation queries and indexing definitions
β βββ scripts/ # Operations & Database Setup
β β βββ init_db.py # Collections bootstrapping and admin credential insertion
β βββ main.py # Central server gatekeeper and configuration
β βββ requirements.txt # Python requirements: Flask, PyMongo, Librosa, PyJWT
βββ ml/ # Machine Learning Research Laboratory
β βββ cv/ # Computer Vision modules
β β βββ eye_tracking.py # OpenCV Perspective-n-Point and EAR tracking
β β βββ posture_analysis.py # MediaPipe joint landmark tilt calculators
β βββ audio/ # Speech analysis
β β βββ emotion_detector.py # Vocal energy RMS and fundamental frequency SD analytics
β βββ nlp/ # Natural Language Processing
β βββ resume_parser.py # Semantic CV extractors
β βββ answer_evaluator.py # Response embeddings similarity calculators
βββ package.json # Root runner orchestrating concurrent frontend & backend booting
βββ PROJECT_STATE.md # Global architectural states and milestone logs
To run the PrepAI ecosystem locally, follow this guide precisely:
Make sure you have the following installed on your machine:
- Node.js (v18 or higher)
- Python (v3.10 or higher)
- MongoDB (Local server or MongoDB Atlas cluster connection string)
- Ollama (Optional, for running local offline models)
If you wish to host Llama3 models locally:
- Ensure Ollama is running on your machine.
- Open your terminal and run:
(This downloads Meta's Llama 3 8-Billion parameter model, which is ~4.7GB, to run full inference locally with zero API costs).
ollama run llama3:8b
Create a .env file inside the backend/ directory and configure the environment:
# Database Configuration
MONGO_URI=mongodb://localhost:27017/prepai # Or your MongoDB Atlas connection string
DB_NAME=prepai
# Security Token (JWT)
SECRET_KEY=your_super_secret_jwt_key
# Distributed AI Core Configuration
# Choose "gemini" for cloud APIs or "ollama" for offline local processing
AI_PROVIDER=gemini
GEMINI_API_KEY=your_gemini_api_key_here
# Local Ollama AI Settings (Fallback or Offline Mode)
OLLAMA_HOST=http://127.0.0.1:11434
OLLAMA_MODEL=llama3:8b # Use Llama 3 8B model locallyPrepAI is configured as a Monorepo. Install all npm modules, set up the backend Python virtual environment (.venv), and fetch python dependencies with a single command from the root directory:
npm run install-allBefore starting the servers, configure indexes and import the admin user account credentials.
Set up default credentials (email: admin@gmail.com | password: admin123) using the initialization script:
# Navigate to the backend directory
cd backend
# Activate Virtual Environment
# Windows:
.venv\Scripts\activate
# Mac/Linux:
source .venv/bin/activate
# Initialize collections
python scripts/init_db.pyYou should see a "Database initialization completed successfully!" message.
You can launch both the backend server and the frontend interface concurrently with a single command from the root directory (Prep_AI/):
npm run dev- Vite Frontend Development Server: Runs on http://localhost:5173
- Flask Backend API Server: Runs on http://localhost:5000
Open your browser and navigate to http://localhost:5173. Log in as a Candidate to experience technical training, or log in using the credentials below to access the Admin Panel:
- Admin Email:
admin@gmail.com - Admin Password:
admin123
PrepAI is engineered to empower job seekers by bringing high-fidelity diagnostic tools right to their browsers. By evaluating confidence alongside raw technical competency, we provide candidates with the insights they need to conquer competitive hiring loops and succeed in their careers.
Prepare for the best. Be the better.