An AI-powered interview preparation platform. This project is designed to help users practice for their interviews by providing AI-driven feedback and analysis.
AI Interview is a platform designed to help users prepare for technical and behavioral interviews. The application leverages AI to provide a realistic and interactive interview experience.
- Mock Interviews: Users can start a mock interview for a specific job role (e.g., "Frontend Developer").
- AI-Generated Questions: The AI generates relevant interview questions based on the selected job role.
- Voice-to-Text: Users can answer questions using their voice, and the application will transcribe their answers in real-time.
- AI-Powered Feedback: After the interview, the AI provides detailed feedback on the user's answers, including suggestions for improvement.
- Interview Analysis: The platform analyzes the user's performance and provides a summary of their strengths and weaknesses.
- Job Description Upload: Users can upload a job description (in
.docxor.pdfformat), and the AI will tailor the interview questions to that specific role.
The goal of this project is to provide a powerful and accessible tool for anyone looking to improve their interview skills. We believe that by leveraging the power of AI, we can create a more effective and engaging learning experience.
Follow these instructions to set up the project on your local machine.
- Node.js (v18 or later)
- npm or yarn
- Supabase CLI
-
Clone the repository:
git clone https://github.com/your-username/ai-interview.git
-
Navigate to the project directory:
cd ai-interview -
Install the dependencies:
npm install
-
Set up Environment Variables:
You'll need to create a
.env.localfile in the root of the project to store your secret keys. To make this easier, you can copy the example file:cp .env.example .env.local
Then, update the
.env.localfile with your actual credentials.NEXT_PUBLIC_SUPABASE_URL&NEXT_PUBLIC_SUPABASE_ANONKEY: In your Supabase project, go to Project Settings > API. You'll find the Project URL and theanonpublic key there.OPEN_ROUTER_KEY: Get this key from the OpenRouter website.NEXT_PUBLIC_HOST_URL: For local development, this should behttp://localhost:3000.NEXT_PUBLIC_VAPI_PUBLIC_KEY: Get this key from your Vapi AI dashboard.
-
Set up the Database:
This project uses Supabase for the database. The schema is managed with migration files.
a. Log in to the Supabase CLI:
bash supabase loginb. Link your local repository to your Supabase project:bash supabase link --project-ref <your-project-ref>You can find your<your-project-ref>in the URL of your Supabase project dashboard (e.g.,https://app.supabase.com/project/<your-project-ref>).c. Push the database migrations: This will create the necessary tables and policies in your Supabase project.
bash supabase db push
Once you have completed the setup steps, you can run the application with the following command:
npm run devThis will start the development server at http://localhost:3000.
This project is built with the following technologies:
- Framework: Next.js
- Styling: Tailwind CSS
- UI Components: Radix UI, shadcn/ui
- Database and Auth: Supabase
- AI Services:
- Payments: PayPal
- File Handling:
- mammoth (for .docx files)
- pdf-extraction
- Other Libraries:
We are excited to participate in Hacktoberfest 2024 and welcome contributions from everyone!
Please read our Contributing Guidelines to learn how you can contribute to the project. We also have a Code of Conduct that we expect all contributors to follow.
This project is licensed under the MIT License.