KA
KARTHIK-004/INTERVIEW_PREP
An intelligent interview preparation platform that provides AI-powered mock interviews with real-time voice interaction and comprehensive feedback. Practice technical, behavioral, and mixed interviews to boost your confidence and improve your performance.
๐ฏ AI Interview Prep Platform
An intelligent interview preparation platform that provides AI-powered mock interviews with real-time voice interaction and comprehensive feedback. Practice technical, behavioral, and mixed interviews to boost your confidence and improve your performance.
โจ Features
๐๏ธ Real-Time Voice Interviews
- AI-powered interviewer with natural conversation flow
- Voice-to-voice interaction using advanced speech recognition
- Professional interview simulation with realistic scenarios
๐ Comprehensive Feedback System
- Detailed scoring across multiple dimensions:
- Communication Skills
- Technical Knowledge
- Problem Solving
- Cultural Fit
- Confidence and Clarity
- Overall score out of 100 with actionable insights
- Strengths identification and improvement recommendations
๐ฏ Multiple Interview Types
- Technical Interviews: Focus on coding skills and technical knowledge
- Behavioral Interviews: Assess soft skills and cultural fit
- Mixed Interviews: Combination of technical and behavioral questions
๐ ๏ธ Technology Stack Support
Support for 50+ technologies including:
- Frontend: React, Next.js, TypeScript
- Backend: Node.js, Express, NestJS, GraphQL
- Databases: PostgreSQL, Firebase
- Styling: Tailwind CSS, Shadcn ui
๐ค User Management
- Secure authentication with Firebase
- Personal interview history tracking
- Progress monitoring and performance analytics
๐ Getting Started
Prerequisites
- Node.js 18+
- npm, yarn, or pnpm
- Firebase account for authentication
- VAPI account for voice AI functionality
Installation
- Clone the repository
git clone <repository-url>
cd interview-prep- Install dependencies
npm install
# or
yarn install
# or
pnpm install- Environment Setup
Create a.env.localfile in the root directory:
# Firebase Configuration
NEXT_PUBLIC_FIREBASE_API_KEY=your_firebase_api_key
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
# VAPI Configuration
NEXT_PUBLIC_VAPI_PUBLIC_KEY=your_vapi_public_key
VAPI_PRIVATE_KEY=your_vapi_private_key
# Google AI (for feedback generation)
GOOGLE_GENERATIVE_AI_API_KEY=your_google_ai_api_key- Run the development server
npm run dev
# or
yarn dev
# or
pnpm dev- Open your browser
Navigate to http://localhost:3000 to see the application.
๐๏ธ Project Structure
โโโ app/ # Next.js App Router
โ โโโ (auth)/ # Authentication pages
โ โโโ (root)/ # Main application pages
โ โโโ api/ # API routes
โโโ components/ # Reusable UI components
โ โโโ ui/ # Base UI components
โ โโโ Agent.tsx # Voice AI interview component
โ โโโ InterviewCard.tsx # Interview display component
โ โโโ ...
โโโ lib/ # Utility functions and actions
โ โโโ actions/ # Server actions
โ โโโ utils.ts # Helper utilities
โ โโโ vapi.sdk.ts # VAPI SDK integration
โโโ constants/ # Application constants
โโโ types/ # TypeScript type definitions
โโโ firebase/ # Firebase configuration
โโโ public/ # Static assets
๐ง Tech Stack
- Framework: Next.js 15 with App Router
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI
- Authentication: Firebase Auth
- Database: Firebase Firestore
- Voice AI: VAPI (Voice AI Platform)
- AI Models: Google Generative AI, OpenAI GPT-4
- Form Handling: React Hook Form with Zod validation
- Icons: Lucide React
๐ฎ How to Use
- Sign Up/Login: Create an account or sign in with existing credentials
- Start Interview: Click "Start an Interview" to begin a new session
- Configure Interview: Select role, interview type, and technology stack
- Take Interview: Engage in real-time voice conversation with AI interviewer
- Review Feedback: Get detailed performance analysis and improvement suggestions
- Track Progress: Monitor your interview history and performance trends
๐ Authentication & Security
- Firebase Authentication for secure user management
- Protected routes with middleware
- Secure API endpoints with proper validation
- Environment variables for sensitive configuration
๐ฑ Responsive Design
- Mobile-first responsive design
- Optimized for desktop, tablet, and mobile devices
- Accessible UI components following WCAG guidelines
๐ Deployment
Vercel (Recommended)
- Connect your repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy automatically on every push to main branch
Other Platforms
The application can be deployed on any platform that supports Next.js:
- Netlify
- Railway
- AWS Amplify
- DigitalOcean App Platform
๐ค Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Support
If you encounter any issues or have questions:
- Check the Issues page for existing solutions
- Create a new issue with detailed description
- Contact the development team