Interview AI is a modern web application designed to help users prepare for technical interviews using AI-powered tools. The platform offers a comprehensive suite of features to help users practice, improve, and track their interview performance.
- AI-Powered Interview Simulation: Practice with realistic interview questions generated by AI
- Personalized Dashboard: Track your interview history and progress
- Authentication: Secure user authentication powered by Clerk
- Real-time Updates: Get instant feedback and updates on your interview performance
- Responsive Design: Works seamlessly on desktop and mobile devices
- Modern UI: Built with Radix UI and Tailwind CSS for a polished user experience
- Node.js (v16 or later)
- npm or yarn
- Firebase project (for backend services)
- Clerk account (for authentication)
- Google Generative AI API key
-
Clone the repository
git clone https://github.com/your-username/interview-ai.git cd interview-ai -
Install dependencies
npm install # or yarn -
Set up environment variables Create a
.envfile in the root directory and add the following variables:VITE_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key VITE_GOOGLE_AI_API_KEY=your_google_ai_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
-
Start the development server
npm run dev # or yarn devThe application will be available at
http://localhost:5173
- Frontend: React 18, TypeScript, Vite
- UI Components: Radix UI, Tailwind CSS
- Authentication: Clerk
- AI: Google Generative AI
- Database: Firebase Firestore
- State Management: React Context API
- Form Handling: React Hook Form
- Routing: React Router
- Icons: Lucide Icons
src/
├── components/ # Reusable UI components
├── config/ # Application configuration
├── gemini/ # Google Generative AI integration
├── handlers/ # Event handlers and utilities
├── hooks/ # Custom React hooks
├── Layouts/ # Page layout components
├── lib/ # Utility functions and helpers
├── provider/ # Context providers
├── routes/ # Application routes and pages
├── types/ # TypeScript type definitions
└── App.tsx # Main application component
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your 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
This project is licensed under the MIT License - see the LICENSE file for details.
- Vite for the amazing build tooling
- Radix UI for accessible UI primitives
- Tailwind CSS for utility-first CSS
- Clerk for authentication
- Firebase for backend services
- Google Generative AI for AI capabilities
Powered by Google Gemini AI