Transform your interview preparation with AI-powered practice sessions, real-time voice interaction, and personalized feedback.
InterviewAI is a cutting-edge, AI-powered interview preparation platform designed to help students and professionals excel in their job interviews. Unlike traditional mock interview tools, InterviewAI creates personalized, realistic interview experiences tailored to your specific role, experience level, and technical skills.
- Personalized Practice: Generate custom interview questions based on your resume, target job role, and interview type
- Real-Time Voice Interaction: Engage in natural, voice-first conversations with AI interviewersβno forms or typing required
- Intelligent Feedback: Receive comprehensive, AI-generated performance analysis with actionable insights and improvement recommendations
- Professional Evaluation: Get detailed scores across multiple categories including communication, technical knowledge, problem-solving, and cultural fit
Whether you're preparing for your first job interview or looking to advance your career, InterviewAI provides the tools and insights you need to perform with confidence.
- Email/Password Authentication: Secure sign-up and sign-in powered by Firebase
- Google OAuth Integration: Quick and easy authentication with your Google account
- Session Management: Secure, server-side session handling with HTTP-only cookies
- Interview History: Track all your practice sessions in one place
- Performance Analytics: View your progress over time with detailed score breakdowns
- Quick Access: Start new interviews or review past feedback instantly
- Natural Conversation: No forms or typingβjust speak naturally and start your interview
- Real-Time Transcription: See your responses transcribed in real-time during the interview
- Seamless Interaction: Experience fluid, human-like conversations with AI interviewers
- Personalized Questions: Generate custom interview questions based on:
- Your resume and professional background
- Target job role and responsibilities
- Experience level (Junior, Mid, Senior)
- Technical stack requirements
- Interview type (Technical, Behavioral, or Mixed)
- Industry-Relevant Content: Questions tailored to your specific industry and role
- Professional AI Personas: Interact with sophisticated AI interviewers designed to simulate real interview scenarios
- Adaptive Conversations: AI that responds naturally to your answers and asks relevant follow-up questions
- Realistic Experience: Practice in an environment that closely mirrors actual job interviews
- Performance Scoring: Receive detailed scores across five key categories:
- Communication Skills
- Technical Knowledge
- Problem-Solving Ability
- Cultural & Role Fit
- Confidence & Clarity
- Actionable Insights: Get specific strengths and areas for improvement
- Detailed Assessment: Receive comprehensive evaluation reports with personalized recommendations
InterviewAI is built with modern, industry-standard technologies to ensure optimal performance and user experience:
- βοΈ Next.js 15.2.4 - React framework with App Router for optimal performance
- π¨ Tailwind CSS 4 - Utility-first CSS framework for rapid UI development
- π§© shadcn/ui - High-quality, accessible component library
- β‘ React 19 - Latest React features for enhanced user experience
- π₯ Firebase - Authentication, Firestore database, and server-side admin SDK
- π£οΈ Vapi AI - Real-time voice interaction and transcription services
- π§ Google Gemini 2.0 - AI-powered question generation and feedback analysis
- π TypeScript - Type-safe development
- π React Hook Form + Zod - Form validation and management
- π Sonner - Toast notifications
- π¦ Styled Components - Component-level styling
Follow these step-by-step instructions to set up InterviewAI on your local machine.
Before you begin, ensure you have the following installed:
- Node.js (v18 or higher)
- npm or yarn package manager
- A code editor (VS Code recommended)
git clone https://github.com/yourusername/InterviewAI.git
cd InterviewAIInstall all required project dependencies:
npm installor if you're using yarn:
yarn installCreate a .env.local file in the root directory of the project:
touch .env.localAdd the following environment variables to .env.local:
# Vapi AI Configuration
NEXT_PUBLIC_VAPI_WEB_TOKEN=your_vapi_web_token_here
NEXT_PUBLIC_VAPI_WORKFLOW_ID=your_vapi_workflow_id_here
# Google Gemini AI
GOOGLE_GENERATIVE_AI_API_KEY=your_google_gemini_api_key_here
# Application URL
NEXT_PUBLIC_BASE_URL=http://localhost:3000
# Firebase Client Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project_id.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project_id.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# Firebase Admin SDK (Server-side)
FIREBASE_PROJECT_ID=your_project_id
FIREBASE_CLIENT_EMAIL=your_service_account_email
FIREBASE_PRIVATE_KEY=your_service_account_private_key-
Firebase:
- Go to Firebase Console
- Create a new project or select an existing one
- Navigate to Project Settings β General β Your apps
- Copy the Firebase configuration values
- For Admin SDK: Go to Project Settings β Service Accounts β Generate New Private Key
-
Vapi AI:
- Sign up at Vapi.ai
- Create a workflow for your interview assistant
- Copy your Web Token and Workflow ID from the dashboard
-
Google Gemini:
- Visit Google AI Studio
- Create a new API key for Gemini
- Copy the API key to your
.env.localfile
Start the development server:
npm run devThe application will be available at http://localhost:3000
To create an optimized production build:
npm run build
npm start- Sign Up: Create an account using email/password or Google OAuth
- Navigate to Dashboard: Access your personalized dashboard
- Start Interview: Click "Start New Interview" to begin
- Configure Interview:
- Select your job role
- Choose experience level
- Specify technical stack
- Select interview type (Technical/Behavioral/Mixed)
- Begin Practice: Start speaking with the AI interviewer
- Review Feedback: After completion, view detailed performance analysis
Each interview session provides:
- Overall Score (0-100)
- Category Breakdown: Individual scores for each evaluation area
- Strengths: What you did well
- Areas for Improvement: Specific recommendations for growth
- Final Assessment: Comprehensive summary of your performance
We welcome contributions from the community! InterviewAI is open-source and thrives on collaboration.
- Fork the Repository: Create your own copy of the project
- Create a Feature Branch:
git checkout -b feature/your-feature-name - Make Your Changes: Implement improvements or new features
- Test Thoroughly: Ensure your changes work correctly
- Submit a Pull Request: Describe your changes and why they're valuable
- π¨ UI/UX Improvements: Enhance the user interface and user experience
- π§ AI Algorithm Optimization: Improve question generation and feedback quality
- ποΈ Database Efficiency: Optimize data queries and storage
- π New Features: Add functionality that benefits users
- π Bug Fixes: Help identify and fix issues
- π Documentation: Improve code comments and documentation
- π Internationalization: Add support for multiple languages
- Follow the existing code style and conventions
- Write clear, descriptive commit messages
- Add comments for complex logic
- Ensure TypeScript types are properly defined
InterviewAI/
βββ app/ # Next.js App Router pages
β βββ (auth)/ # Authentication routes
β βββ (dash)/ # Dashboard and interview pages
β βββ (root)/ # Landing page
β βββ api/ # API routes
βββ components/ # React components
β βββ ui/ # Reusable UI components
βββ lib/ # Utility functions and actions
β βββ actions/ # Server actions
βββ constants/ # Constants and configuration
βββ types/ # TypeScript type definitions
βββ public/ # Static assets
Issue: Environment variables not loading
- Solution: Ensure
.env.localis in the root directory and restart the dev server
Issue: Firebase authentication errors
- Solution: Verify all Firebase configuration values are correct and the project is properly set up
Issue: Vapi connection issues
- Solution: Check that your Vapi Web Token and Workflow ID are valid and active
Issue: Build errors with Tailwind CSS
- Solution: Clear the
.nextfolder and rebuild:rm -rf .next && npm run build
This project is licensed under the MIT License - see the LICENSE file for details.
- Vapi AI for providing exceptional voice interaction capabilities
- Google Gemini for powerful AI question generation and analysis
- Firebase for robust authentication and database services
- Next.js Team for the amazing framework
- All contributors and users who help improve InterviewAI
- Issues: GitHub Issues
- Discussions: GitHub Discussions
β Star this repository if you find it helpful!
Made with β€οΈ for developers preparing for their next opportunity
π Best of luck with your interviews! π
