Transform your interview preparation with intelligent AI feedback and personalized mock interviews
InterviewAI is a comprehensive interview preparation platform that leverages cutting-edge AI technology to provide personalized mock interviews, real-time feedback, and detailed performance analytics. Built with modern web technologies, it offers an immersive interview experience with webcam integration and speech recognition.
- Dynamic Question Generation: Uses Google Gemini 2.0 to generate role-specific technical questions
- Real-time Feedback: Instant AI analysis of answers with detailed scoring and improvement suggestions
- Personalized Experience: Customized interviews based on tech stack, role, and experience level
- Webcam Integration: Live video recording during interviews for realistic practice
- Speech Recognition: Voice-to-text functionality for natural answer input
- Media Permissions: Secure camera and microphone access management
- Performance Tracking: Detailed scoring system with individual question ratings
- Overall Feedback: AI-generated strengths, improvements, and performance summary
- Progress Dashboard: Track interview history and improvement over time
- Firebase Authentication: Secure user management and data protection
- Real-time Database: Cloud Firestore for instant data synchronization
- Responsive Design: Optimized for desktop and mobile devices
- React 19 - Latest React with concurrent features
- TypeScript - Type-safe development
- Tailwind CSS - Utility-first styling
- Radix UI - Accessible component primitives
- React Router - Client-side routing
- Firebase - Authentication, Firestore database, hosting
- Google Gemini 2.0 - AI question generation and feedback
- Vite - Fast build tool and development server
- React Webcam - Camera integration
- Speech Recognition - Voice input processing
- Google Generative AI - Advanced AI capabilities
// Dynamic question generation based on user preferences
const generateAiResponse = async ({ techStacks, role, experience }) => {
const prompt = `Generate 5 technical interview questions for ${role}
with ${experience} experience in ${techStacks.join(", ")}`;
const aiResult = await chatSession.sendMessage(prompt);
return cleanAiResponse(aiResult.response.text());
};- Question-level Analysis: Individual scoring and feedback for each answer
- Overall Performance: Comprehensive evaluation with strengths and improvements
- Smart Prompting: Context-aware AI prompts for accurate assessment
- Modular Design: Reusable components with clear separation of concerns
- Context Management: React Context for state management across components
- Protected Routes: Secure navigation with authentication guards
Challenge: Ensuring consistent JSON responses from AI with proper error handling Solution: Implemented robust parsing utilities with fallback mechanisms and type validation
Challenge: Managing camera/microphone permissions across different browsers Solution: Created comprehensive permission management system with user-friendly fallbacks
Challenge: Generating relevant, role-specific questions with varying complexity Solution: Developed sophisticated prompting system with context-aware AI integration
Challenge: Handling large datasets and real-time updates efficiently Solution: Implemented optimized Firebase queries and React performance patterns
Challenge: Creating intuitive interview flow with clear progress indication Solution: Built step-by-step wizard with visual feedback and progress tracking
- Node.js 18+
- Firebase project with Firestore enabled
- Google AI API key
# Clone the repository
git clone https://github.com/yourusername/InterviewAI.git
cd InterviewAI
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env.local
# Add your Firebase and Google AI credentials
# Start development server
npm run devVITE_FIREBASE_API_KEY=your_firebase_api_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_GEMINI_API_KEY=your_gemini_api_key- Sign Up/Login - Create account with Firebase authentication
- Setup Interview - Select tech stack, role, and experience level
- Configure Media - Grant camera and microphone permissions
- Practice Interview - Answer AI-generated questions with real-time feedback
- Review Results - Analyze performance with detailed feedback and suggestions
- Modern Design: Clean, professional interface with gradient accents
- Responsive Layout: Optimized for all device sizes
- Accessibility: WCAG compliant with keyboard navigation
- Loading States: Smooth transitions and progress indicators
- Error Handling: User-friendly error messages and recovery options
# Development
npm run dev
# Build for production
npm run build
# Linting
npm run lint
# Preview production build
npm run previewBuilt with β€οΈ by Vaishnavi Rastogi - Empowering developers to ace their interviews






