Mock Minds is an AI-powered mock interview platform designed to help users prepare for interviews by providing instant feedback. The platform utilizes modern technologies like Next.js, Tailwind CSS, Clerk for authentication, and Drizzle ORM for database management. Additionally, Mock Minds integrates the Gemini API for generating interview questions and providing intelligent feedback based on user responses.
- AI Mock Interview: Conduct mock interviews with AI-generated questions using the Gemini API and receive real-time feedback.
- User Authentication: Secure sign-up and login powered by Clerk.
- Question & Feedback Generation: Leverage the Gemini API to dynamically generate interview questions and provide detailed feedback.
- Real-Time Speech Recognition: Implemented with
react-hook-speech-to-text
for hands-free user responses. - Webcam Integration: Uses
react-webcam
to simulate real interview settings. - Responsive Design: Styled using Tailwind CSS with custom animations.
- Frontend: Next.js, React, Tailwind CSS
- Authentication: Clerk
- Database: Drizzle ORM, Neon (serverless PostgreSQL)
- AI Question & Feedback: Gemini API
- Speech Recognition:
react-hook-speech-to-text
- UI Components: Radix UI, TailwindCSS Forms, Shadcn UI
- Node.js (>= 14.x)
- Neon Database account
- Clerk account for authentication
- Access to Gemini API
-
Clone the repository:
git clone https://github.com/your-username/mock-minds.git cd mock-minds
-
Install dependencies:
npm install
-
Set up environment variables:
Create a
.env.local
file in the root directory and add your Clerk, Neon Database, and Gemini API credentials:NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key CLERK_SECRET_KEY=your_clerk_secret_key NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_DRIZZLE_DB_URL=your_neon_db_url GEMINI_API_KEY=your_gemini_api_key NEXT_PUBLIC_MAX_QUESTIONS=10
-
Run the development server:
npm run dev
-
Open http://localhost:3000 to view the application.
- Register or log in using Clerk.
- Start a mock interview session where questions are generated dynamically by the Gemini API.
- Answer questions using speech or text input.
- Review feedback provided by the Gemini API after each question and improve your performance.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for more details.
For any inquiries or issues, please reach out to [email protected].