A modern web application designed to help users prepare for technical interviews with AI-powered interview simulations and detailed feedback. Perfect for job seekers, coding bootcamp graduates, and professionals looking to advance their careers.
- ✨ Features
- 🛠️ Tech Stack
- 🚀 Getting Started
- 📁 Project Structure
- 📋 Usage Guide
- 🔍 API Documentation
- 🧩 Component Library
⚠️ Troubleshooting- 🗺️ Roadmap
- 🤝 Contributing
- 📄 License
- 🙏 Acknowledgments
- 🤖 AI-Powered Interviews: Simulate real interview experiences with our advanced AI agent that adapts to your skill level
- 📊 Personalized Feedback: Receive detailed feedback on your interview performance with actionable improvement suggestions
- 🧠 Technical Skills Assessment: Get evaluated on technical knowledge, problem-solving abilities, communication skills, and cultural fit
- 📚 Interview History: Track your progress and review past interview sessions with performance analytics
- 🔐 User Authentication: Secure user accounts with Firebase authentication and role-based access control
- 📱 Responsive Design: Fully functional on all devices from mobile to desktop with adaptive UI components
- 🌎 Multi-language Support: Practice interviews in different languages to prepare for global opportunities
- 🧠 Industry-specific Questions: Tailored interview scenarios for different tech sectors and roles
- Frontend: Next.js 15, React 19, TypeScript 5
- Styling: TailwindCSS 4, Class Variance Authority, shadcn/ui
- State Management: React Context, Server Components
- Authentication: Firebase Authentication with custom claims
- Database: Firebase Firestore with optimized queries
- AI Integration: AI SDK, VAPI AI with streaming responses
- Form Handling: React Hook Form, Zod validation
- UI Components: Radix UI primitives with custom styling
- Deployment: Vercel with Edge Functions
- Node.js 18.x or higher
- npm, yarn, or pnpm package manager
- Firebase account for authentication and database
- VAPI AI account for interview simulation API access
-
Clone the repository
git clone https://github.com/ARYPROGRAMMER/InterviewMe cd InterviewMe
-
Install dependencies
npm install # or yarn install # or pnpm install
-
Set up Firebase
- Create a new Firebase project at Firebase Console
- Enable Authentication with Email/Password and Google providers
- Create a Firestore database in production mode
- Set up Firebase Admin SDK credentials
-
Configure environment variables
Create a
.env.local
file in the root directory with your credentials:# Firebase NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_messaging_sender_id NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id # Firebase Admin FIREBASE_ADMIN_PROJECT_ID=your_project_id FIREBASE_ADMIN_CLIENT_EMAIL=your_client_email FIREBASE_ADMIN_PRIVATE_KEY=your_private_key # VAPI AI NEXT_PUBLIC_VAPI_API_KEY=your_vapi_key # Optional: Google AI for enhanced features GOOGLE_API_KEY=your_google_api_key
-
Run the development server
npm run dev # or yarn dev # or pnpm dev
-
Open http://localhost:3000 with your browser to see the application
app/ # Next.js app router
(auth)/ # Authentication routes
(root)/ # Main application routes
interview/ # Interview simulation
[id]/ # Individual interview session
feedback/ # Interview feedback
components/ # React components
ui/ # UI components (buttons, forms, etc.)
constants/ # Application constants
firebase/ # Firebase configuration
lib/ # Utility functions and actions
actions/ # Server actions
public/ # Static assets
types/ # TypeScript type definitions
- Create an account or sign in with your credentials
- Select a new interview from the dashboard
- Choose your interview settings (experience level, technologies)
- Start the interview session with the AI interviewer
- After completing the interview, you'll receive detailed feedback on your performance
- Review your interview history and track your improvement over time
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow the existing code style and naming conventions
- Write tests for new features or bug fixes
- Update documentation for any changed functionality
- Reference relevant issues in your pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Next.js team for the incredible framework
- Vercel for the deployment platform
- Firebase for authentication and database services
- VAPI AI for the interview simulation capabilities
- shadcn/ui for the component library foundation
- All contributors are appreciated - till now only ME