Skip to content

arun7197/Prep-Mate

Repository files navigation

PrepMate β€” AI Mock Interview Platform

Practice real interviews before the real one. Speak out loud, get detailed AI feedback, and track your progress.

πŸ”— Live Demo: prep-mate-ai-beta.vercel.app


What is PrepMate?

PrepMate is an AI-powered mock interview platform that simulates a real face-to-face interview experience. You speak your answers out loud using your microphone β€” just like in an actual interview β€” and the AI evaluates your responses, giving you detailed feedback on what you said, what the ideal answer was, and how you can improve.


Features

  • Personalized Interview Setup β€” Enter your job role, tech stack, and years of experience to generate tailored interview questions
  • Realistic Interview Experience β€” Webcam + microphone enabled; speak your answers out loud like a real f2f interview
  • AI-Generated Questions β€” Questions are dynamically generated based on your role and tech stack
  • Text-to-Speech β€” Questions are read aloud so you can stay focused without reading a screen
  • Voice Recording β€” Record your spoken answers per question
  • Detailed Post-Interview Feedback β€” For every question, see:
    • The correct/ideal answer
    • What you said
    • What you can improve
  • Dashboard β€” View all previous interview sessions with role, date, and experience details
  • Authentication β€” Secure sign-up and login

Tech Stack

Layer Technology
Framework Next.js 14 (App Router)
Language TypeScript
Styling Tailwind CSS + shadcn/ui
Database PostgreSQL
ORM Drizzle ORM
AI Google Gemini API
Auth Clerk
Deployment Vercel

Screenshots

Landing Page

Screenshot 2026-03-12 083609

Dashboard

Screenshot 2026-03-11 122344

Interview Setup

Screenshot 2026-03-12 083847

Live Interview

Screenshot 2026-03-12 084258

Feedback

Screenshot 2026-03-12 084006

Getting Started (Local Setup)

Prerequisites

  • Node.js 18+
  • PostgreSQL database (local or cloud e.g. Neon)
  • Google Gemini API key
  • Clerk account (for auth)

1. Clone the repository

git clone https://github.com/arun7197/Prep-Mate.git
cd Prep-Mate

2. Install dependencies

npm install

3. Set up environment variables

Create a .env.local file in the root:

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_CLERK_SIGN_UP_FALLBACK_REDIRECT_URL=/
NEXT_PUBLIC_CLERK_SIGN_IN_FALLBACK_REDIRECT_URL=/

NEXT_PUBLIC_DRIZZLE_DB_URL=your_postgresql_connection_string

NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key

4. Run database migrations

npx drizzle-kit push

5. Start the development server

npm run dev

Open http://localhost:3000 in your browser.


User Flow

Sign Up / Log In
      ↓
Dashboard (view past interviews)
      ↓
Create New Interview (fill role, tech stack, experience)
      ↓
Interview Setup Page (enable webcam + mic)
      ↓
Live Interview (5 questions, speak answers via mic)
      ↓
Detailed Feedback Page (per-question breakdown)
      ↓
Back to Dashboard

Author

Arun β€” github.com/arun7197


License

This project is open source and available under the MIT License.