A comprehensive AI-powered interview preparation platform that helps users practice interviews using their resume and AI-generated questions.
- Intelligent Question Generation: Uses Google Gemini AI to generate role-specific questions
- Voice Recognition: Real-time speech-to-text for natural interview experience
- Text-to-Speech: AI speaks questions aloud for immersive practice
- Manual Input: Fallback typing option for better accessibility
- PDF/DOC Upload: Support for multiple document formats
- AI-Powered Analysis: Gemini AI extracts key skills and experience
- Smart Summaries: Comprehensive resume insights and highlights
- Real-time Feedback: AI analyzes interview performance
- Progress Tracking: Historical interview data and improvements
- Personalized Insights: Tailored suggestions based on performance
- Visual Analytics: Beautiful charts and progress indicators
- Material-UI Design: Clean, responsive interface
- Real-time Notifications: Toast messages and alerts
- Progress Indicators: Visual feedback for all operations
- Mobile Responsive: Works on all device sizes
- Node.js (v16 or higher)
- Google Gemini API key
- Firebase project
-
Clone the repository
git clone <repository-url> cd PrepMind
-
Install dependencies
# Backend cd backend npm install # Frontend cd ../frontend npm install
-
Environment Setup
# Backend cd backend cp .env.example .env # Edit .env with your API keys
-
Configure Firebase
- Follow the guide in
backend/FIREBASE_SETUP.md - Set up your Firebase service account
- Follow the guide in
-
Start the application
# Terminal 1 - Backend cd backend npm start # Terminal 2 - Frontend cd frontend npm start
-
Access the application
- Open http://localhost:3000 in your browser
- Sign in with Google
- Upload your resume and start practicing!
Create a .env file in the backend directory:
# Gemini API Configuration
GEMINI_API_KEY=your_gemini_api_key_here
# Server Configuration
PORT=5000
NODE_ENV=development
# Firebase Configuration (optional)
FIREBASE_PROJECT_ID=prepmind-bb3b1-
Gemini API Key
- Visit: https://makersuite.google.com/app/apikey
- Create a new API key
- Add it to your
.envfile
-
Firebase Setup
- Create a Firebase project
- Enable Authentication and Firestore
- Configure Google Sign-in
- Set up service account (see
backend/FIREBASE_SETUP.md)
- Click "Upload Resume" button
- Select PDF, DOC, or DOCX file (max 5MB)
- Wait for AI analysis to complete
- Review the generated summary
- Choose your target role
- Select interview type (Technical/HR)
- Set duration (10/15/20 minutes)
- Click "Generate Questions"
- Click "Start Interview Session"
- Listen to AI questions
- Answer using voice or typing
- Skip questions if needed
- Complete all questions
- Submit your self-assessment
- Receive AI-powered feedback
- View performance analytics
- Track improvement over time
- API Endpoints: RESTful API for all operations
- AI Integration: Google Gemini for question generation and analysis
- File Processing: PDF parsing and text extraction
- Database: Firebase Firestore for data persistence
- Authentication: Firebase Admin SDK
- UI Framework: Material-UI components
- State Management: React hooks and context
- Authentication: Firebase Auth with Google Sign-in
- Voice Processing: Web Speech API
- Responsive Design: Mobile-first approach
- Question Generation: Context-aware interview questions
- Resume Analysis: Intelligent skill extraction
- Performance Feedback: Comprehensive interview analysis
- Personalization: Tailored recommendations
- Input Validation: Server-side validation for all inputs
- File Type Validation: Secure file upload handling
- CORS Protection: Configured cross-origin policies
- Error Handling: Graceful error management
- Data Privacy: Secure user data handling
- Loading States: Visual feedback during operations
- Progress Tracking: Real-time progress indicators
- Error Recovery: Automatic retry mechanisms
- Optimized Queries: Efficient database operations
- Caching: Smart data caching strategies
PrepMind/
โโโ backend/
โ โโโ index.js # Main server file
โ โโโ package.json # Backend dependencies
โ โโโ .env # Environment variables
โ โโโ uploads/ # File upload directory
โโโ frontend/
โ โโโ src/
โ โ โโโ App.js # Main app component
โ โ โโโ Dashboard.js # Main dashboard
โ โ โโโ Login.js # Authentication
โ โ โโโ firebase.js # Firebase config
โ โโโ package.json # Frontend dependencies
โโโ README.md # This file
Backend:
npm start # Start development server
npm test # Run testsFrontend:
npm start # Start development server
npm build # Build for production
npm test # Run tests- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support and questions:
- Check the documentation
- Review the Firebase setup guide
- Open an issue on GitHub
- Video interview simulation
- Multi-language support
- Advanced analytics dashboard
- Interview scheduling
- Company-specific question banks
- Mobile app development
- Integration with job boards
- Advanced AI coaching
Made with โค๏ธ for better interview preparation