InterviewAce AI is a cutting-edge web application designed to help job seekers master technical interviews through AI-powered practice sessions. Our platform generates personalized interview questions based on your job role, experience, and tech stack, then evaluates your responses using advanced AI to provide actionable feedback.
- AI-Powered Question Generation: Get personalized interview questions tailored to your role and experience
- Speech-to-Text Practice: Practice answering questions aloud with real-time transcription
- AI Performance Evaluation: Receive detailed feedback and ratings (1-10) on your answers
- Webcam Integration: Optional video recording during practice sessions
- Progress Tracking: Save and review your interview performance over time
- Comprehensive Feedback: Detailed analysis comparing your answers to ideal responses
- Node.js (v16 or higher)
- npm or yarn
- Firebase account
- Google Generative AI API key
-
Clone the repository:
git clone https://github.com/mimo-to/interviewace-ai.git cd interviewace-ai -
Install dependencies:
npm install # or yarn install -
Set up environment variables: Create a
.envfile in the root directory and add:VITE_GEMINI_API_KEY=your_google_gemini_api_key VITE_FIREBASE_API_KEY=your_firebase_api_key VITE_FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain VITE_FIREBASE_PROJECT_ID=your_firebase_project_id VITE_FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket VITE_FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id VITE_FIREBASE_APP_ID=your_firebase_app_id
-
Run the development server:
npm run dev # or yarn dev -
Build for production:
npm run build # or yarn build
- React 19 - Frontend library
- TypeScript - Type safety
- Vite - Build tool and development server
- Tailwind CSS - Utility-first CSS framework
- React Router - Declarative routing
- Radix UI - Accessible UI components
- Lucide React - Icon library
- Firebase - Backend as a Service (Firestore, Authentication)
- Google Generative AI (Gemini) - AI-powered question generation and evaluation
- Clerk - Authentication and user management
interviewace-ai/
โโโ public/
โ โโโ assets/
โ โ โโโ img/
โ โ โโโ svg/
โ โโโ ...
โโโ src/
โ โโโ components/
โ โ โโโ ui/ # Reusable UI components
โ โ โโโ ... # Feature-specific components
โ โโโ config/ # Configuration files
โ โโโ layouts/ # Page layouts
โ โโโ routes/ # Page components
โ โโโ scripts/ # AI integration
โ โโโ types/ # TypeScript types
โ โโโ lib/ # Utility functions
โ โโโ provider/ # React context providers
โ โโโ handlers/ # Event handlers
โ โโโ App.tsx # Main app component
โ โโโ main.tsx # Entry point
โโโ .env # Environment variables
โโโ .gitignore # Git ignore rules
โโโ index.html # HTML template
โโโ package.json # Dependencies and scripts
โโโ tsconfig.json # TypeScript configuration
โโโ vite.config.ts # Vite configuration
โโโ ...
- Create Interview: Specify your job role, experience, and tech stack
- AI Question Generation: Our AI generates 5 relevant interview questions
- Practice Session: Answer questions using your voice with optional webcam
- AI Evaluation: Receive detailed feedback comparing your answers to ideal responses
- Performance Tracking: Save results and track improvement over time
- FormMockInterview: Create/edit mock interviews with job details
- QuestionSection: Tabbed interface for navigating interview questions
- RecordAnswer: Speech-to-text recording with AI evaluation
- Feedback: Detailed performance analysis and ratings
InterviewAce AI uses Clerk for authentication, providing:
- Email/Password signup and login
- OAuth with Google, GitHub, and other providers
- Protected routes for interview data
- User-specific data isolation
All interview data is stored in Firebase Firestore:
- User profiles and authentication
- Interview questions and metadata
- User answers and AI feedback
- Performance tracking and analytics
Uses Google's Gemini model to generate relevant interview questions based on:
- Job role/position
- Years of experience
- Tech stack requirements
- Job description
AI evaluates user responses by:
- Comparing answers to ideal responses
- Providing a rating (1-10) based on quality
- Offering specific feedback for improvement
- Identifying strengths and weaknesses
- Responsive Design: Works on desktop, tablet, and mobile
- Dark/Light Mode: Theme switching support
- Accessibility: WCAG compliant components
- Smooth Animations: Enhanced user experience
- Real-time Feedback: Instant transcription and evaluation
The application is configured for Firebase Hosting:
# Build the application
npm run build
# Deploy to Firebase
firebase deployEnsure all environment variables are set in your deployment environment:
- Google Generative AI API key
- Firebase configuration
- Clerk authentication keys
We welcome contributions to InterviewAce AI! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please ensure your code follows our coding standards and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini API for powering our AI features
- Firebase for backend services
- Clerk for authentication
- Radix UI for accessible components
- Tailwind CSS for styling
- Vite for the amazing development experience
Rounak Hati - [email protected]
Project Link: https://github.com/mimo-to/interviewace-ai