InterviewIQ is an AI-powered mock interview platform that helps users practice role-based interviews with real-time feedback, resume analysis, scoring, and performance analytics.
- Google OAuth login
- Resume PDF analysis
- AI-generated interview questions
- Voice-to-text interview flow
- AI answer evaluation and feedback
- Interview history and reports
- PDF report download
- Credit-based interview access
- Razorpay payment integration
- HR and Technical interview modes
- React
- Vite
- Redux Toolkit
- Tailwind CSS
- Framer Motion
- Recharts
- Web Speech API
- Node.js
- Express
- MongoDB with Mongoose
- OpenRouter AI
- Razorpay
- PDF.js
InterviewIQ/
├── client/
└── server/
- Node.js
- MongoDB
- Firebase project
- OpenRouter API key
- Razorpay keys
cd client
npm install
npm run devcd server
npm install
npm run devVITE_FIREBASE_APIKEY=your_firebase_api_key
VITE_RAZORPAY_KEY_ID=your_razorpay_key_id
VITE_BACKEND_URL=https://your-backend-domain.comPORT=8000
MONGODB_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
OPENROUTER_API_KEY=your_openrouter_api_key
RAZORPAY_KEY_ID=your_razorpay_key_id
RAZORPAY_KEY_SECRET=your_razorpay_secret
FRONTEND_URL=https://your-frontend-domain.comFor multiple frontend deployments, set FRONTEND_URL as a comma-separated list:
FRONTEND_URL=https://your-frontend-domain.com,https://www.your-frontend-domain.com- Sign in with Google
- Upload resume or continue manually
- Choose role, experience, and interview mode
- Generate interview questions
- Answer questions using mic or keyboard
- View score, feedback, and report
- Purchase more credits if needed
- POST /api/auth/google
- GET /api/auth/logout
- GET /api/user/current-user
- POST /api/interview/resume
- POST /api/interview/generate-questions
- POST /api/interview/submit-answer
- POST /api/interview/finish
- GET /api/interview/get-interview
- GET /api/interview/report/:id
- POST /api/payment/order
- POST /api/payment/verify
- The app uses cookie-based JWT authentication.
- Resume analysis and feedback generation are handled by OpenRouter AI.
- Interview scoring is stored in MongoDB and shown in the report dashboard.
This project is for internship / educational use.