Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

yuvaraj2selvam/takeint-ai-interview-platform

Open more actions menu

Repository files navigation

🤖TakeInt-AI Mock Interview Platform

Practice technical & behavioral interviews with AI voice agents, instant feedback, and performance analytics.

Next.js TypeScript React Prisma NextAuth shadcn/ui Gemini Vapi

Tech Stack: Next.js • React • TypeScript • Prisma • NextAuth • Google Gemini API • Vapi (voice agents) • shadcn/ui • Tailwind CSS


✨ Overview

AI Mock Interview Platform helps candidates rehearse interviews with realistic voice-driven agents and structured question sets. It generates tailored questions (role, level, skills), records responses (voice), scores performance, summarizes strengths & gaps, and tracks progress over time.

  • Voice Interviews: Real-time AI voice via Vapi (web calling + event webhooks).
  • Question Generation: Google Gemini for role-aware question sets.
  • Feedback & Summaries: Gemini-based rubric, strengths, and next steps.
  • Authentication: NextAuth with Google Sign-In + Credentials (demo accounts supported).
  • UI: shadcn/ui components with Tailwind CSS.
  • Data: Prisma ORM (PostgreSQL by default).
  • Pages: Landing, Interview Studio, History, Dashboard (Skill & Session analytics), Settings.

📸 Media

Landing Page
landing-page
Dashboard — Skills Performance
dashboard
Mock Interview Studio
mock-interview
Interview Panel
interview

🎥 Video Walkthrough
▶️ Watch the demo video here


🧱 Architecture

  • App Router (Next.js) with server actions for secure data ops.
  • NextAuth for sessions (JWT) with Google provider + Credentials provider.
  • Prisma schema with User, Interview, Question, Answer, Score,Transcript.
  • Vapi session init on the client, server-side webhook (/api/vapi/webhook) for call events & transcripts.
  • Gemini used server-side for question generation, summaries, and feedback .
  • shadcn/ui for accessible, consistent components; charts via a lightweight React chart lib.

✅ Features

  • Role-based Templates: Option to create custom mock interviews.
  • Interview Modes: Behavioral, Algo/DSA, System Design, Mixed.
  • Voice : Speak with the agent .
  • Scoring: Evaluated across key dimensions — Problem Solving, System Design, Communication Skills, Technical Accuracy, Behavioral Responses, and Time Management.
  • Feedback: Bullet tips, improvement plan, follow-up questions.
  • History: All sessions with transcripts & audio replays.
  • Dashboard: Skill radar, progress over time, topic heat-map.

🔧 Requirements

  • Node.js 18+ (suggested 20+)
  • PNPM / Yarn / NPM (examples use pnpm)
  • Database: PostgreSQL (default)
  • Environment variables configured (see below)

🔐 Environment Variables

Create .env.local in the project root:

# NextAuth
AUTH_SECRET=
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=

# URLs
NEXT_PUBLIC_BASE_URL=http://localhost:3000

# Voice Agents (Vapi)
NEXT_PUBLIC_VAPI_TOKEN=

# Database (Postgres example)
DATABASE_URL=

# Google Gemini
GOOGLE_GENERATIVE_AI_API_KEY=

Tip: Generate AUTH_SECRET with openssl rand -base64 32


🗣️ Voice (Vapi) Integration

  • Client: Initialize Vapi with NEXT_PUBLIC_VAPI_TOKEN; start/stop calls from the Interview .
  • Server: POST /api/vapi/webhook receives call events, partial/final transcripts, and stores them via Prisma.
  • Sync: On-call end, the transcript triggers Gemini summarization + scoring.

🧠 Google Gemini Usage

  • Question Generation: Creates interview questions based on role, level, and skills.
  • Feedback: Provides detailed interview feedback — scores, strengths, improvements, and follow-up suggestions.

🧭 Key Pages

  • Landing – Marketing info, feature highlights, and call-to-action (sign in / get started).
  • Dashboard – Skill radar, recent improvements, session trends, and quick actions.
  • Create Interview – Build a custom mock interview (role, skills, level, mode).
  • Mock Interview List – View all created mock interviews and select one to take.
  • Interview Panel – Live interview space (voice and real-time Q&A).
  • History – Past sessions with transcripts and feedback.

Made with ❤️ using Next.js, TypeScript, Prisma, NextAuth, shadcn/ui, Vapi, and Google Gemini.

Morty Proxy This is a proxified and sanitized view of the page, visit original site.