An AI-powered platform for preparing for mock interviews with real-time feedback and personalized questions.
- AI Voice Assistant - Natural conversation with AI interviewer
- Instant Feedback - Real-time analysis and scoring
- Custom Questions - Tailored to your role and experience
- Progress Tracking - Monitor improvement over time
- Multiple Interview Types - Technical, Behavioral, and Mixed interviews
- Frontend: Next.js 14, React, TypeScript
- Styling: Tailwind CSS
- Authentication: Firebase Auth
- Database: Firebase Firestore
- AI Integration: VAPI SDK for voice interactions
- UI Components: Custom components with shadcn/ui
- Node.js 18+
- npm or yarn
- Firebase project
- VAPI account
- Clone the repository
git clone <repository-url>
cd ai_mock_interviews
- Install dependencies
npm install
- Set up environment variables
cp .env.example .env.local
Add your environment variables:
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_VAPI_WORKFLOW_ID=your_vapi_workflow_id
- Run the development server
npm run dev
Open http://localhost:3000 to view the application.
├── app/ # Next.js app directory
│ ├── (auth)/ # Authentication pages
│ ├── (root)/ # Main application pages
│ └── api/ # API routes
├── components/ # Reusable components
├── lib/ # Utilities and actions
├── types/ # TypeScript type definitions
├── constants/ # Application constants
└── public/ # Static assets
- Agent - AI interviewer interface with voice interaction
- InterviewCard - Display interview sessions
- Navbar - Navigation with user profile
- StatsCard - Progress tracking cards
- Sign Up/Login - Create account or login with existing credentials
- Create Interview - Start AI conversation to generate personalized questions
- Take Interview - Practice with AI voice assistant
- Review Feedback - Get detailed analysis and scoring
- Track Progress - Monitor improvement over time
npm run dev
- Start development servernpm run build
- Build for productionnpm run start
- Start production servernpm run lint
- Run ESLint
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open Pull Request
This project is licensed under the MIT License.