The Mock Interview Platform is an advanced AI-powered application designed to help users practice and improve their job interview skills. By leveraging cutting-edge AI technologies, the platform simulates realistic interview scenarios, provides real-time voice interaction, and offers detailed feedback to enhance performance.
- AI-Powered Interviews: Experience realistic interview sessions tailored to various job roles and difficulty levels.
- Voice Interaction: Engage in natural conversations with the AI interviewer using Vapi AI.
- Real-time Feedback: Receive instant, constructive feedback on your answers, tone, and pacing powered by Google AI.
- Secure Authentication: Robust user management and authentication system using Firebase.
- Modern UI/UX: A sleek, responsive, and accessible interface built with Next.js 15, Tailwind CSS, and Radix UI.
- Framework: Next.js 15 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: Radix UI & Lucide React
- Authentication & Backend: Firebase
- AI Integration:
- Google Generative AI (Content & Feedback)
- Vapi AI (Voice Interaction)
- Form Handling: React Hook Form & Zod
Follow these steps to set up the project locally.
Ensure you have the following installed:
- Node.js (v18 or later recommended)
- npm, yarn, pnpm, or bun
-
Clone the repository:
git clone <repository-url> cd mock_interview_platform
-
Install dependencies:
npm install # or yarn install # or pnpm install # or bun install
-
Environment Variables: Create a
.env.localfile in the root directory and add the necessary environment variables. You will need API keys for Firebase, Vapi AI, and Google AI.# Example .env.local structure NEXT_PUBLIC_FIREBASE_API_KEY=... NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=... NEXT_PUBLIC_FIREBASE_PROJECT_ID=... # Add other necessary keys
-
Run the development server:
npm run dev # or yarn dev # or pnpm dev # or bun dev
-
Open the application: Open http://localhost:3000 with your browser to see the result.
app/: Contains the application routes and pages (Next.js App Router).components/: Reusable UI components.lib/: Utility functions and library configurations.public/: Static assets like images and icons.constants/: Constant values used across the application.firebase/: Firebase configuration and initialization.
To learn more about the technologies used in this project, check out the following resources:
- Next.js Documentation
- Tailwind CSS Documentation
- Firebase Documentation
- Vapi AI Documentation
- Google AI Studio
The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.
Check out our Next.js deployment documentation for more details.
