Master your interview skills with AI-driven practice sessions, instant feedback, and personalized training
PrepMate is a next-generation interview preparation platform that leverages advanced artificial intelligence to simulate realistic interview scenarios, provide instant feedback, and help you build confidence for your next big opportunity. Whether you're preparing for technical interviews, behavioral questions, or case studies, PrepMate adapts to your needs and helps you improve with every session.
- π€ AI-Powered Mock Interviews - Practice with adaptive AI that asks and evaluates real interview questions
- π Multiple Interview Types - Behavioral, technical, case study, and industry-specific scenarios
- β‘ Feedback - Get instant, actionable feedback on your answers and communication style
- π― Personalized Training - Tailored sessions based on your industry, role, and experience level
- π Session Analytics - Comprehensive performance tracking and progress visualization
- π¨ Modern UI/UX - Clean, responsive design optimized for laptop and desktop
- π Secure Authentication - Firebase-powered authentication with email and Google sign-in
- π Serverless Architecture - Fast, scalable, and cost-effective infrastructure
Visit our live demo: prepmate-drab.vercel.app
π‘ Tip: For the best experience, use a laptop or desktop with a modern browser (Chrome, Firefox, or Edge recommended).
- React 18 - Modern UI library with hooks
- TypeScript - Type-safe JavaScript
- Tailwind CSS - Utility-first CSS framework
- Vite - Next-generation frontend tooling
- Lottie - Smooth animations and interactions
- Firebase Authentication - Secure user authentication
- Firestore - Real-time NoSQL database
- Google Gemini AI - Advanced language model for interview simulation
- Vercel - Serverless deployment platform
- ESLint - Code quality and consistency
- PostCSS - CSS processing
- Git - Version control
Follow these steps to set up PrepMate locally on your machine.
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher) - Download
- npm or yarn - Package manager (comes with Node.js)
- Git - Version control system
- Firebase Account - Sign up
- Google Gemini API Key - Get API Key
-
Clone the repository
git clone https://github.com/rahultapase/PrepMate.git cd PrepMate -
Install dependencies
npm install # or if you prefer yarn yarn install -
Set up Firebase
a. Create a new Firebase project:
- Go to Firebase Console
- Click "Add Project" and follow the setup wizard
b. Enable Authentication:
- Navigate to Authentication β Sign-in method
- Enable Email/Password and Google sign-in providers
c. Create Firestore Database:
- Go to Firestore Database
- Click "Create database"
- Start in production mode (or test mode for development)
d. Get your Firebase configuration:
- Go to Project Settings β General
- Scroll down to "Your apps" section
- Click the web icon (</>) to create a web app
- Copy the configuration object
-
Configure environment variables
Create a
.envfile in the project root:# Firebase Configuration VITE_FIREBASE_API_KEY=your_api_key_here VITE_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com VITE_FIREBASE_PROJECT_ID=your_project_id VITE_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id VITE_FIREBASE_APP_ID=your_app_id # Gemini AI Configuration VITE_GEMINI_API_KEY=your_gemini_api_key_here
-
Start the development server
npm run dev:full
-
Open your browser
Navigate to
http://localhost:5173(or the port shown in your terminal)π Success! PrepMate should now be running locally.
Vercel provides the best deployment experience for React applications with automatic CI/CD.
git add .
git commit -m "Ready for deployment"
git push origin main- Go to Vercel Dashboard
- Click "Import Project"
- Select your GitHub repository
- Vercel will automatically detect Vite configuration
In your Vercel project dashboard:
- Navigate to Settings β Environment Variables
- Add all variables from your
.envfile:
VITE_FIREBASE_API_KEY=your_api_key_here
VITE_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id
VITE_GEMINI_API_KEY=your_gemini_api_key_here
- Select environments: Production, Preview, and Development
- Click "Deploy"
- Wait 2-3 minutes for the build to complete
- Your app is live! π
Update Firebase Authorized Domains:
- Go to Firebase Console
- Navigate to Authentication β Settings β Authorized Domains
- Click "Add Domain"
- Add your Vercel URL:
your-app-name.vercel.app
Deploy to Netlify
- Push your code to GitHub
- Go to Netlify
- Click "New site from Git"
- Select your repository
- Build settings:
- Build command:
npm run build - Publish directory:
dist
- Build command:
- Add environment variables in Site settings
- Deploy!
Deploy to Firebase Hosting
# Install Firebase CLI
npm install -g firebase-tools
# Login to Firebase
firebase login
# Initialize Firebase Hosting
firebase init hosting
# Build your app
npm run build
# Deploy
firebase deploy --only hostingPrepMate/
βββ api/ # Serverless API functions
β βββ gemini.js # Gemini AI integration
β βββ health.js # Health check endpoint
βββ public/ # Static assets
β βββ security-headers.json
βββ src/
β βββ assets/ # Images, animations, icons
β βββ components/ # React components
β β βββ AboutSection.tsx
β β βββ Dashboard.tsx
β β βββ Interview.tsx
β β βββ Login.tsx
β β βββ ...
β βββ config/ # Configuration files
β β βββ api.ts
β βββ hooks/ # Custom React hooks
β β βββ useAuth.ts
β βββ styles/ # Global styles
β β βββ scrollbar.css
β βββ utils/ # Utility functions
β β βββ emailTemplates.ts
β β βββ security.ts
β β βββ validation.ts
β β βββ ...
β βββ App.tsx # Main application component
β βββ firebase.ts # Firebase configuration
β βββ index.tsx # Application entry point
βββ .gitignore
βββ firebase.json # Firebase configuration
βββ firestore.rules # Firestore security rules
βββ package.json # Dependencies and scripts
βββ tailwind.config.js # Tailwind CSS configuration
βββ tsconfig.json # TypeScript configuration
βββ vite.config.ts # Vite configuration
βββ vercel.json # Vercel deployment config
-
Sign Up / Log In
- Create an account using email or Google authentication
-
Choose Interview Type
- Select from technical, behavioral, or case study interviews
-
Customize Your Session
- Set your experience level
- Choose your target role
- Select industry-specific questions
-
Start Practicing
- Answer questions naturally
- Receive instant AI feedback
- Review your performance analytics
-
Track Progress
- View session history
- Analyze improvement areas
- Set goals for future sessions
Contributions are welcome! Here's how you can help:
- 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
- Follow the existing code style
- Write meaningful commit messages
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation as needed
Found a bug or have an idea? Please open an issue!
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project helpful, please give it a βοΈ!