Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

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

Repository files navigation

πŸ€– AI Mock Interview Platform

An AI-powered mock interview platform that simulates real technical interviews using Retrieval-Augmented Generation (RAG), LangChain, Gemini, Whisper, FastAPI, and the MERN Stack.

React Node.js Express MongoDB FastAPI LangChain Gemini License


πŸ“– Overview

Preparing for technical interviews often means solving generic questions that do not reflect real interview experiences.

This platform solves that problem by using Retrieval-Augmented Generation (RAG) to retrieve company-specific interview experiences and combines them with Google Gemini to generate realistic interview questions.

Candidates can:

  • 🎯 Attempt AI-generated mock interviews
  • 🎀 Answer using voice or text
  • πŸ“ Get speech converted into text using Whisper
  • πŸ“Š Receive AI-based feedback and scoring
  • πŸ“š Practice interviews tailored to companies and roles

✨ Features

πŸ‘€ User Features

  • Secure Authentication
  • Google OAuth Login
  • Create Unlimited Mock Interviews
  • Text-Based Answers
  • Voice-Based Answers
  • AI Evaluation & Feedback
  • Interview History
  • Responsive UI

🧠 AI Features

  • Retrieval-Augmented Generation (RAG)
  • LangChain Pipeline
  • ChromaDB Vector Database
  • Google Gemini LLM
  • Whisper Speech-to-Text
  • Company-specific Interview Questions
  • Context-aware Question Generation
  • AI Feedback & Scoring

πŸ—οΈ System Architecture

                +---------------------+
                |      React UI       |
                +----------+----------+
                           |
                    REST APIs
                           |
                +----------v----------+
                | Node.js + Express   |
                | Authentication      |
                | Sessions            |
                | Database            |
                +----------+----------+
                           |
                    HTTP Requests
                           |
                +----------v----------+
                |    FastAPI AI       |
                |---------------------|
                | LangChain           |
                | Gemini              |
                | ChromaDB            |
                | Whisper             |
                +----------+----------+
                           |
                   Vector Retrieval
                           |
                Company Interview Data

🧩 Tech Stack

Frontend

  • React.js
  • Tailwind CSS
  • React Router
  • Axios
  • Socket.io Client

Backend

  • Node.js
  • Express.js
  • JWT Authentication
  • Google OAuth
  • Socket.io
  • MongoDB
  • Mongoose

AI Service

  • FastAPI
  • LangChain
  • Google Gemini
  • ChromaDB
  • Whisper
  • Sentence Transformers

Database

  • MongoDB
  • ChromaDB (Vector Database)

πŸ“‚ Project Structure

AI-MOCK-INTERVIEW/
β”‚
β”œβ”€β”€ frontend/
β”‚   β”œβ”€β”€ public/
β”‚   β”œβ”€β”€ src/
β”‚   β”‚   β”œβ”€β”€ assets/
β”‚   β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   β”œβ”€β”€ context/
β”‚   β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   β”œβ”€β”€ services/
β”‚   β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── App.jsx
β”‚   └── package.json
β”‚
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ config/
β”‚   β”œβ”€β”€ controllers/
β”‚   β”œβ”€β”€ middleware/
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ routes/
β”‚   β”œβ”€β”€ sockets/
β”‚   β”œβ”€β”€ utils/
β”‚   β”œβ”€β”€ server.js
β”‚   └── package.json
β”‚
β”œβ”€β”€ ai-service/
β”‚   β”œβ”€β”€ rag/
β”‚   β”œβ”€β”€ vectorstore/
β”‚   β”œβ”€β”€ embeddings/
β”‚   β”œβ”€β”€ prompts/
β”‚   β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ api/
β”‚   β”œβ”€β”€ main.py
β”‚   └── requirements.txt
β”‚
β”œβ”€β”€ screenshots/
β”œβ”€β”€ README.md
└── .env.example

Note: Folder names inside the AI service may vary depending on your implementation. Update them if your repository uses different names.


πŸ”„ Application Flow

User
   β”‚
   β–Ό
Login / Register
   β”‚
   β–Ό
Select Company & Role
   β”‚
   β–Ό
Node Backend
   β”‚
   β–Ό
FastAPI AI Service
   β”‚
   β–Ό
Retrieve Context using RAG
   β”‚
   β–Ό
Gemini Generates Questions
   β”‚
   β–Ό
User Answers (Voice/Text)
   β”‚
   β–Ό
Whisper Converts Speech β†’ Text
   β”‚
   β–Ό
Gemini Evaluates Response
   β”‚
   β–Ό
Feedback Stored in MongoDB

🧠 How RAG Works

Company Interview Dataset
            β”‚
            β–Ό
Text Chunking
            β”‚
            β–Ό
Embeddings
            β”‚
            β–Ό
ChromaDB
            β”‚
            β–Ό
Relevant Context Retrieval
            β”‚
            β–Ό
Gemini Prompt
            β”‚
            β–Ό
Interview Questions

πŸš€ Getting Started

1. Clone Repository

git clone https://github.com/yourusername/AI-Mock-Interview.git

cd AI-Mock-Interview

2. Install Dependencies

Frontend

cd frontend
npm install

Backend

cd backend
npm install

AI Service

cd ai-service
pip install -r requirements.txt

πŸ” Environment Variables

Backend

PORT=

MONGO_URI=

JWT_SECRET=

GOOGLE_CLIENT_ID=

GOOGLE_CLIENT_SECRET=

AI_SERVICE_URL=

AI Service

GEMINI_API_KEY=

CHROMA_DB_PATH=

EMBEDDING_MODEL=

▢️ Run the Project

Backend

npm run dev

Frontend

npm run dev

AI Service

uvicorn main:app --reload

πŸ“Έ Screenshots

Add screenshots of your application here.

screenshots/

β”œβ”€β”€ Home.png

β”œβ”€β”€ Login.png

β”œβ”€β”€ Dashboard.png

β”œβ”€β”€ Interview.png

└── Feedback.png

Example:

## Home

![Home](screenshots/Home.png)

🎯 Future Improvements

  • Resume Parsing
  • Adaptive Difficulty
  • Coding Interviews
  • Video Interview Support
  • AI Follow-up Questions
  • Performance Analytics Dashboard
  • Personalized Learning Roadmap
  • Multi-language Interviews
  • Company-wise Interview Analytics

🀝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a new feature branch
git checkout -b feature/new-feature
  1. Commit your changes
git commit -m "Add new feature"
  1. Push your branch
git push origin feature/new-feature
  1. Open a Pull Request

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages