A next-generation AI-powered mock interview platform that delivers realistic, interactive interview experiences with real-time vocal feedback and personalized question generation based on your role.
Mock interview session with real-time feedback
InterviewIQ is a sophisticated mock interview platform built with a modern MERN-like stack (React + Node.js). It simulates real interview scenarios using AI-driven interactions, real-time voice analysis, and personalized question generation. The platform is designed for job seekers, students, and professionals to practice and improve their interview skills in a realistic, supportive environment.
- Role-Based Selection: Choose from various job roles to receive tailored interview questions
- Real-time Voice Interaction: AI interviewer speaks using Murf AI's realistic voice synthesis
- Real-Time Vocal Analysis: Instant feedback on pace, filler words, and clarity as you speak
- Comprehensive Session Analysis: Detailed feedback report with actionable recommendations
- User Authentication: Secure login and registration system
- Responsive Design: Optimized for both desktop and mobile devices
- Modern Interface: Clean, intuitive user interface with custom CSS
- Dashboard: Central hub to start interviews and track your progress
- Real-time Feedback: Live feedback display during your responses
- React - Component-based UI library
- Context API - State management
- Custom CSS - Styling and responsive design
- WebSocket Client - Real-time communication
- Node.js - Runtime environment
- Express.js - Web framework
- WebSocket - Real-time bidirectional communication
- JWT - Authentication tokens
- Murf AI - Realistic voice synthesis for interviewer
- Custom Vocal Analysis - Real-time audio processing for feedback
- OpenAI Whisper - Speech-to-text transcription
InterviewIQ/
โโโ InterviewIQ-Backend/ # Backend (Node.js/Express)
โ โโโ controllers/
โ โ โโโ InterviewController.js
โ โโโ models/
โ โ โโโ User.js
โ โโโ routes/
โ โ โโโ authRoutes.js
โ โ โโโ realtime.js
โ โโโ services/
โ โ โโโ murfService.js
โ โ โโโ vocalAnalysisService.js
โ โ โโโ voiceService.js
โ โโโ uploads/
โ โโโ env
โ โโโ index.js # Main server entry point
โ โโโ package.json
โ โโโ WebSocketServer.js
โ
โโโ InterviewIQ-frontend/ # Frontend (React)
โโโ public/
โ โโโ index.html
โ โโโ favicon.ico
โ โโโ manifest.json
โโโ src/
โโโ components/
โ โโโ Auth/
โ โ โโโ Login.js
โ โ โโโ Register.js
โ โ โโโ Auth.css
โ โโโ Common/
โ โ โโโ Header.js
โ โ โโโ Header.css
โ โโโ Dashboard/
โ โโโ RoleSelection.js
โ โโโ Interview.js
โ โโโ Interview.css
โ โโโ RealTimeFeedback.js
โ โโโ RealTimeFeedback.css
โ โโโ Results.js
โ โโโ Results.css
โโโ context/
โ โโโ AuthContext.js
โโโ App.js
โโโ App.css
โโโ index.js
graph TD
User["User (Browser)"] -->|HTTP Requests| Frontend["React Frontend"]
User -->|WebSocket Connection| Frontend
Frontend -->|REST API Calls| Backend["Node.js/Express Backend"]
Frontend -->|WebSocket Messages| Backend
Backend -->|Authentication| DB["Database"]
Backend -->|Text-to-Speech| Murf["Murf AI Service"]
Backend -->|Audio Processing| Vocal["Vocal Analysis Service"]
Backend -->|Speech-to-Text| Whisper["OpenAI Whisper"]
- Node.js (v16 or higher)
- npm or yarn
- Murf AI API Key
- OpenAI API Key (for Whisper transcription)
-
Clone the repository
mkdir InterviewIQ cd InterviewIQ git clone https://github.com/Het4304/InterviewIQ.git -
Backend Setup
cd InterviewIQ-Backend mkdir uploads npm install -
Frontend Setup
cd ../InterviewIQ-frontend npm install -
Environment Configuration
Create a
.envfile in theInterviewIQ-Backenddirectory:# Server Configuration MONGODB_URI=your_mongodb_url PORT=5100 MURF_API_KEY=your_murf_api_key_here OPENAI_API_KEY=your_openai_api_key_here JWT_SECRET=your_secure_jwt_secret_here
-
Start the Development Servers
Terminal 1 - Backend:
cd InterviewIQ-Backend node index.jsTerminal 2 - Frontend:
cd InterviewIQ-frontend npm start -
Access the Application
- Open your browser and navigate to
http://localhost:3000 - Register a new account and login
- Select a job role and begin your mock interview!
- Open your browser and navigate to
- Registration/Login: Create an account and sign in
- Role Selection: Choose your target job role from available options
- Interview Setup: Configure your microphone permission
- Practice Session:
- Listen to questions from the AI interviewer
- Record your responses (for a minute)
- Receive real-time feedback on your delivery
- Review Results: Analyze your performance with detailed feedback reports
| Method | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Register a new user |
| POST | /api/auth/login |
Authenticate user |
| GET | /api/auth/me |
Get current user profile |
connection- Establish real-time connectionaudio_chunk- Stream audio data for analysisfeedback- Receive real-time vocal feedbacktranscript- Receive speech-to-text results
We love contributions! Here's how you can help improve InterviewIQ:
-
Fork the Repository
git clone https://github.com/yourusername/InterviewIQ.git cd InterviewIQ -
Create a Feature Branch
git checkout -b feature/amazing-feature
-
Make Your Changes
- Follow the existing code style
- Add comments for complex logic
- Update documentation as needed
-
Commit Your Changes
git commit -m 'Add amazing feature' -
Push to Your Branch
git push origin feature/amazing-feature
-
Open a Pull Request
- Describe your changes in detail
- Reference any related issues
- Include screenshots for UI changes
- Use meaningful variable and function names
- Comment complex algorithms and business logic
- Follow the existing code style and structure
- Ensure responsive design for frontend components
-
Microphone Access
- Ensure your browser has microphone permissions
- Check if other applications are using the microphone
-
Audio Processing Errors
- Verify your Murf AI API key is valid
- Check network connectivity
-
Authentication Issues
- Clear browser cookies and localStorage
- Verify JWT secret in environment variables
-
WebSocket Connection Problems
- Check if the backend server is running
- Verify CORS settings
If you encounter issues not covered here:
- Check the existing GitHub Issues
- Create a new issue with detailed description
- Include error messages and screenshots if possible
This project is licensed under the MIT License - see the LICENSE file for details.
- Murf AI for providing high-quality voice synthesis API
- OpenAI for Whisper speech-to-text capabilities
- The React and Node.js communities for excellent documentation and tools
- All contributors who have helped shape InterviewIQ
If you have questions or need help:
- Create an issue on our GitHub repository
Made with โค๏ธ by the InterviewIQ Team