Skip to content

Shubham1392003/AI-Mocker-Interview

Repository files navigation

AI Mocker Interview

A fully functional AI-powered mock interview web app built with Next.js 14, Tailwind CSS, Clerk authentication, Drizzle ORM, and Gemini AI (via OpenRouter API). This project lets users simulate real interviews with video and audio responses, receiving AI-generated feedback at the end.

πŸš€ Features

  • 🎀 Record answers using your webcam and microphone
  • πŸ€– Gemini-powered question generation and feedback
  • πŸ” User authentication with Clerk
  • πŸ“Š Real-time feedback with question-wise scoring
  • 🧠 Persistent user history (via Drizzle and NeonDB)

πŸ§ͺ Tech Stack

  • Framework: Next.js 14 (App Router)
  • Styling: Tailwind CSS
  • Auth: Clerk
  • Database: NeonDB (PostgreSQL) + Drizzle ORM
  • AI Integration: OpenRouter (Gemini)
  • Deployment: Vercel

βš™οΈ Getting Started

1. Clone the Repo

git clone https://github.com/Shubham1392003/AI-Mocker-Interview.git
cd AI-Mocker-Interview

2. Install Dependencies

npm install

3. Configure Environment Variables

Create a .env.local file in the root folder:

NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key

NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in

NEXT_PUBLIC_DRIZZLE_DB_URL=your_postgresql_connection_string

NEXT_PUBLIC_OPENROUTER_API_KEY=your_openrouter_gemini_api_key

NEXT_PUBLIC_INTERVIEW_QUESTION_COUNT=5

NEXT_PUBLIC_INFORMATION="Enable Video Web Cam and Microphone to Start Your AI Generated Mock Interview , It Has 5 question which you can answer and at the last you will get the report on the basis of your answer. NOTE: We never record your video, web cam access you can disable at any time if you want."

NEXT_PUBLIC_QUESTION_NOTE="Click on Record Answer when you want to answer the question. At the end of interview we will give you the feedback along with correct answer for each of the questions and compare it."

βœ… Do not share your actual keys publicly. Keep .env.local in .gitignore.


4. Run Locally

npm run dev

Visit: http://localhost:3000


πŸ“ Folder Structure

β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ (auth)/             # Sign-in / Sign-up routes
β”‚   β”œβ”€β”€ dashboard/          # Dashboard + Interview pages
β”œβ”€β”€ components/             # Reusable UI components
β”œβ”€β”€ drizzle/                # DB migrations and schemas
β”œβ”€β”€ lib/                    # Utility files
β”œβ”€β”€ public/                 # Static assets
β”œβ”€β”€ utils/                  # Helper functions
β”œβ”€β”€ .env.local              # Environment variables (excluded from Git)
β”œβ”€β”€ tailwind.config.mjs     # Tailwind CSS config

πŸ“‘ Deployment

  • Push your code to GitHub
  • Import the project in Vercel
  • Set the same .env.local variables in Vercel's dashboard
  • Hit "Deploy"

πŸ›‘οΈ Security

  • Clerk handles user auth securely.
  • Webcam and mic permissions are controlled by the browser.
  • No user recordings are stored; only text feedback is retained.

πŸ™Œ Acknowledgements

Inspired by this video tutorial:
πŸ”— Build & Deploy Full Stack AI Mock Interview App with Next.js

About

πŸŽ™οΈ AI-Powered Mock Interview Web App β€” Practice interviews using your webcam & mic, get real-time AI feedback powered by Gemini πŸ”₯. Built with Next.js 14, TailwindCSS, Clerk Auth, Drizzle ORM & OpenRouter API πŸš€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors