An AI-powered mock interview platform that simulates real technical interviews using Retrieval-Augmented Generation (RAG), LangChain, Gemini, Whisper, FastAPI, and the MERN Stack.
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
- Secure Authentication
- Google OAuth Login
- Create Unlimited Mock Interviews
- Text-Based Answers
- Voice-Based Answers
- AI Evaluation & Feedback
- Interview History
- Responsive UI
- 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
+---------------------+
| 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
- React.js
- Tailwind CSS
- React Router
- Axios
- Socket.io Client
- Node.js
- Express.js
- JWT Authentication
- Google OAuth
- Socket.io
- MongoDB
- Mongoose
- FastAPI
- LangChain
- Google Gemini
- ChromaDB
- Whisper
- Sentence Transformers
- MongoDB
- ChromaDB (Vector Database)
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.
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
Company Interview Dataset
β
βΌ
Text Chunking
β
βΌ
Embeddings
β
βΌ
ChromaDB
β
βΌ
Relevant Context Retrieval
β
βΌ
Gemini Prompt
β
βΌ
Interview Questions
git clone https://github.com/yourusername/AI-Mock-Interview.git
cd AI-Mock-Interviewcd frontend
npm installcd backend
npm installcd ai-service
pip install -r requirements.txtPORT=
MONGO_URI=
JWT_SECRET=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
AI_SERVICE_URL=GEMINI_API_KEY=
CHROMA_DB_PATH=
EMBEDDING_MODEL=npm run devnpm run devuvicorn main:app --reloadAdd screenshots of your application here.
screenshots/
βββ Home.png
βββ Login.png
βββ Dashboard.png
βββ Interview.png
βββ Feedback.png
Example:
## Home
- 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
Contributions are welcome!
- Fork the repository
- Create a new feature branch
git checkout -b feature/new-feature- Commit your changes
git commit -m "Add new feature"- Push your branch
git push origin feature/new-feature- Open a Pull Request