Intervue is a full-stack web application that helps users practice interviews using AI-powered question generation and evaluation. The application uses Google's Gemini 1.5 Pro API for generating interview questions and evaluating responses.
- Dynamic interview question generation based on job role and interview type
- Real-time speech-to-text input (Web Speech API)
- Follow-up questions: If your answer is vague, the AI will ask a follow-up and lock your initial answer
- Distinct answer fields: Main and follow-up answers are kept separate and editable only at the right time
- Timer per question: Customizable (minutes and seconds), auto-advances to next question/report when time is up
- Retry logic: Reset main or follow-up answer independently, with timer behavior tailored to each
- Comprehensive evaluation report: See feedback and download as PDF
- Modern UI/UX: Material UI, smooth transitions, bold section headers, toggle buttons, and theme support
- Dark/Light mode toggle
- Responsive design
- Smooth animations and transitions
- Frontend: React, Material UI, Framer Motion
- Backend: Node.js, Express
- AI: Google Gemini 1.5 Pro API
- Speech Recognition: Web Speech API
- PDF Generation: html2pdf.js
- Node.js (v18 or higher)
- npm or yarn
- Google Gemini API key
-
Clone the repository:
git clone https://github.com/06sarv/intervue.git cd intervue -
Install dependencies:
npm install
-
Create a
.envfile in the root directory and add your Gemini API key:REACT_APP_GEMINI_API_KEY=your_api_key_here -
Start the development server:
npm start
-
Open http://localhost:3000 to view the application.
-
On the landing page, enter:
- Job Role
- Interview Type (HR or Technical)
- Number of Questions (1-5)
- Time per Question (min, sec)
-
Click "Start Interview" to begin.
-
For each question:
- Type your answer or use the microphone button for speech input
- If a follow-up is triggered, your main answer is locked and you answer the follow-up in a new field (mic and typing supported)
- Use the retry button to reset only the relevant answer (main or follow-up)
- Timer auto-advances to the next question/report when time is up
- Click "Next Question" when ready
-
After completing all questions, view your evaluation report.
-
Download the report as a PDF or start a new interview.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.


