Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 PrepAI - AI-Powered Mock Interview Assistant

PrepAI is an advanced, full-stack, microservice-based web application designed to help job seekers ace their interviews through real-time feedback. By leveraging Computer Vision (CV), Natural Language Processing (NLP), and Generative AI, PrepAI analyzes facial expressions, speech sentiment, and answer quality to provide a comprehensive, personalized performance report in web page.


🚀 Key Features

  • 🗣️ AI Question Engine & Voice Recognition: Automatically reads professional interview questions aloud using the Web Speech API and converts your spoken answers into text in real time.
  • 👁️ Real-time Emotion Analysis: Uses DeepFace and OpenCV to detect confidence, nervousness, and excitement from live webcam frames, giving you real-time visual feedback.
  • 🧠 Spoken Word Sentiment Tracking: Employs TextBlob to analyze the polarity of your spoken answers, tracking your sentiment progression over the course of the interview.
  • 🤖 Intelligent Coaching (Gemini AI): Integrates Google Gemini 2.5 Flash to provide instant, constructive feedback on your answers (using the STAR method) and generates a comprehensive final performance report.
  • 📊 Dual-Modal Interactive Dashboard: A modern, sleek React frontend featuring live sentiment charts, animated progress bars, and real-time status indicators.

🏗️ System Architecture & Tech Stack

PrepAI is broken into three main components:

1. Frontend (The Interface)

  • Framework: React.js (Vite)
  • Styling: Vanilla CSS3 (Custom gradients, animations, glassmorphism)
  • Real-Time Comm: socket.io-client
  • Native APIs: Web Speech API (Speech Recognition & Speech Synthesis)

2. Backend (The Bridge)

  • Framework: Node.js & Express
  • Real-Time Comm: Socket.io (Handles live video frames and text streams)
  • Generative AI: @google/genai (Google Gemini API integration)

3. AI Core (The Brain)

  • Framework: Python (Flask)
  • Computer Vision: OpenCV, DeepFace (Facial expression recognition)
  • NLP: TextBlob (Sentiment analysis)

📁 Project Structure

PrepAI_Project/
├── frontend/             # React + Vite UI (Port 5173)
│   ├── src/App.jsx       # Main application logic & UI
│   └── package.json
├── backend/              # Node.js WebSocket & API Server (Port 5000)
│   ├── server.js         # Express + Socket.io + Gemini API routing
│   ├── .env              # Environment variables (Gemini API Key)
│   └── package.json
└── ai_core/              # Python Flask ML Microservice (Port 5001)
    ├── app.py            # DeepFace & TextBlob endpoints
    └── venv/             # Python Virtual Environment

⚙️ Installation & Setup

You will need to start three separate terminal windows to run the microservices.

Prerequisites

1. Setup AI Core (Python Microservice)

This service handles the heavy lifting for Computer Vision and NLP.

cd ai_core
python -m venv venv

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

# Install dependencies
pip install flask flask-cors opencv-python numpy deepface textblob tf-keras

# Start the Flask server (runs on Port 5001)
python app.py

2. Setup Backend (Node.js Server)

This service acts as the bridge between the frontend, the AI Core, and the Gemini API.

cd backend
npm install

# Create a .env file and add your Gemini API Key
echo "GEMINI_API_KEY=your_gemini_api_key_here" > .env

# Start the Node.js server (runs on Port 5000)
node server.js

3. Setup Frontend (React UI)

This is the beautiful user interface.

cd frontend
npm install

# Start the Vite development server (runs on Port 5173)
npm run dev

🎮 How to Use

  1. Navigate to http://localhost:5173 in your browser.
  2. Grant the browser permission to access your Camera and Microphone.
  3. Click "Start Mock Interview".
  4. Listen to the AI read the question, and respond verbally. The system will transcribe your speech, analyze your facial expressions, and plot your sentiment in real time.
  5. Click "Submit & Next" to receive instant Gemini AI feedback on your response.
  6. At the end of the interview, receive your Comprehensive Performance Report.

💡 Note on Browser Compatibility

The voice recognition feature relies on the experimental Web Speech API. For the best experience, please use Google Chrome or Microsoft Edge. If your browser does not support it, a fallback text-input option is automatically provided.

About

PrepAI is an AI-powered mock interview platform that uses Computer Vision, NLP, and Generative AI to provide real-time coaching, emotion tracking, and feedback.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages