π€ AI-powered interview preparation platform that generates role-specific questions, provides detailed explanations, and helps you ace your technical interviews.
Interview Prep AI is a full-stack web application that helps users prepare for interviews with AI-generated, role-specific questions and answers. Users can practice, expand on answers, get detailed explanations, and track their progressβall in a modern, responsive interface.
β¨ Features
- π― AI-powered Questions: Generate role-specific interview questions and answers using Google's Gemini AI
- π Deep Learning: Expand answers and dive deep into concepts with detailed explanations
- πΎ Save & Organize: Save your favorite questions and revisit them anytime
- π Progress Tracking: Monitor your preparation progress with built-in analytics
- π User Authentication: Secure login/signup with JWT authentication
- π± Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
- β‘ Real-time AI: Get instant responses to your interview queries
- π¨ Modern UI: Beautiful, intuitive interface built with Tailwind CSS
π Tech Stack
Frontend
- React 18 - Modern React with hooks and functional components
- Vite - Fast build tool and development server
- Tailwind CSS - Utility-first CSS framework
- Axios - HTTP client for API requests
- React Router - Client-side routing
Backend
- Node.js - JavaScript runtime
- Express.js - Web framework for Node.js
- MongoDB - NoSQL database with Mongoose ODM
- JWT - JSON Web Tokens for authentication
- bcryptjs - Password hashing
- Google Gemini API - AI for question generation
Development Tools
- ESLint - Code linting and formatting
- Git - Version control
Quick Start
Prerequisites
- Node.js (v16+ recommended)
- npm or yarn
- MongoDB instance (local or cloud)
- Google Gemini API key (free at AI Studio)
Installation
-
Clone the repository
git clone https://github.com/KaranUnique/Interview-Prep-AI.git cd Interview-Prep-AI -
Install dependencies
# Backend dependencies cd backend npm install # Frontend dependencies cd ../frontend/InterviewPrepAI npm install
-
Set up environment variables
Create a
.envfile in thebackend/directory:# Database MONGO_URI=your_mongodb_connection_string # Authentication JWT_SECRET=your_super_secret_jwt_key_here # AI Configuration GEMINI_API_KEY=your_gemini_api_key_here GEMINI_MODEL=gemini-1.5-flash # Server Configuration PORT=8000 NODE_ENV=development FRONTEND_ORIGIN=http://localhost:5173
-
Start the development servers
Start the backend (in one terminal):
Start the frontend (in another terminal):
cd frontend/InterviewPrepAI npm run dev -
Open your browser Navigate to
http://localhost:5173and start preparing for your interviews!
π Project Structure
Interview-Prep-AI/
βββ backend/ # Express.js API server
β βββ config/ # Database configuration
β βββ controllers/ # Request handlers
β βββ middlewares/ # Authentication & other middlewares
β βββ models/ # MongoDB schemas
β βββ routes/ # API endpoints
β βββ utils/ # Helper functions
β βββ server.js # Server entry point
βββ frontend/
β βββ InterviewPrepAI/ # React frontend application
β βββ public/ # Static assets
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ context/ # React context providers
β β βββ pages/ # Page components
β β βββ utils/ # Utility functions
β β βββ main.jsx # App entry point
β βββ package.json
βββ .gitignore # Git ignore rules
βββ README.md # This file
π€ Contributing
We welcome contributions from the community! Here's how you can help:
How to Contribute
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow the existing code style and conventions
- Write clear, descriptive commit messages
- Test your changes before submitting
- Update documentation as needed
Areas for Contribution
- π Bug fixes and improvements
- β¨ New features and enhancements
- π Documentation improvements
- π¨ UI/UX improvements
- β‘ Performance optimizations
π Troubleshooting
| Issue | Solution |
|---|---|
| 401 Unauthorized after deploy | Ensure JWT secret is consistent; clear localStorage token |
| CORS errors | Verify FRONTEND_ORIGIN matches exact protocol + domain (no trailing slash) |
| 404 API calls | Confirm VITE_BACKEND_URL has no trailing slash and includes https |
| Mixed content warnings | Use https for backend URL in production |
| AI API errors | Check your Gemini API key and model configuration |
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
- Google Gemini AI for powering the interview question generation
- React & Vite for the amazing frontend development experience
- Express.js & MongoDB for the robust backend infrastructure
- Tailwind CSS for the beautiful utility-first styling