Skip to content

Repository files navigation

AI Interview Mocker

AI Interview Mocker

AI-powered mock interview platform with real-time speech recognition and instant feedback

Live Demo Next.js Gemini Groq License


What It Does

AI Interview Mocker lets you practice job interviews without needing another person. You describe your target role and experience level — the AI generates relevant interview questions, you answer them via speech (using your microphone), and the platform gives you structured feedback on each answer.

Core flow:

  1. Enter job role, tech stack, and years of experience
  2. Gemini generates 5 tailored interview questions
  3. Answer each question via speech-to-text (webcam optional)
  4. Get AI-generated feedback with rating and ideal answer comparison
  5. Review all answers in a detailed report

Features

  • AI Question Generation — Gemini API generates role-specific questions based on your inputs
  • Speech-to-Text Answers — Browser-based voice recording via react-hook-speech-to-text
  • Instant AI Feedback — Per-answer rating and model answer generated by Groq
  • Interview History — All past sessions saved, reviewable anytime
  • Auth & Sessions — Secure login via Clerk (Google OAuth + email)
  • Dark Mode — Full light/dark theme support via next-themes

Tech Stack

Layer Technology
Framework Next.js 14 (App Router)
Auth Clerk
AI — Question Generation Google Gemini (@google/genai)
AI — Feedback Groq SDK
Database Neon (serverless PostgreSQL)
ORM Drizzle ORM
UI TailwindCSS · Radix UI · Lucide Icons · Sonner
Speech react-hook-speech-to-text
Deployment Vercel

Getting Started

Prerequisites

Installation

git clone https://github.com/DevxNadeem/ai-interview-mocker.git
cd ai-interview-mocker
npm install

Environment Variables

Create a .env.local file in the root:

# Clerk Auth
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

# Neon Database
DATABASE_URL=your_neon_database_url

# AI APIs
NEXT_PUBLIC_GEMINI_API_KEY=your_gemini_api_key
NEXT_PUBLIC_GROQ_API_KEY=your_groq_api_key

Database Setup

npm run db:push

Run Locally

npm run dev

Open http://localhost:3000


Project Structure

ai-interview-mocker/
├── app/
│   ├── (auth)/          # Clerk sign-in / sign-up routes
│   ├── dashboard/       # Main app — interview list, creation, session
│   │   ├── interview/   # Individual interview flow
│   │   └── upgrade/     # Upgrade page
│   └── page.tsx         # Landing page
├── components/          # Shared UI components
├── drizzle/             # DB schema and migrations
├── lib/                 # Utility functions
└── public/              # Static assets

Screenshots

image image image

Roadmap

  • Export feedback report as PDF
  • Difficulty levels (Junior / Mid / Senior)
  • Coding round simulation
  • Performance analytics across sessions

Author

Nadeem Sheikh

GitHub LinkedIn Email


Built with Next.js 14 · Gemini · Groq · Neon · Clerk

Releases

Packages

Contributors

Languages