Skip to content

Repository files navigation

🎀 InterviewPilot AI

An AI-powered mock interview platform that helps students and job seekers prepare for technical and behavioral interviews through personalized interview sessions, resume-based question generation, and real-time AI feedback.


πŸ“Œ Overview

InterviewPilot AI is a full-stack web application designed to simulate real interview experiences using Generative AI. The platform generates customized interview questions based on a user's resume, evaluates responses using Google's Gemini AI, and provides detailed feedback to help users improve their interview performance.

The primary objective of this project is to make interview preparation more structured, personalized, and accessible while giving users measurable insights into their progress.


Problem Statement

Students often prepare for interviews using scattered resources such as YouTube videos, coding platforms, and question lists. These methods rarely provide personalized practice or meaningful feedback.

InterviewPilot AI addresses this problem by providing:

  • Resume-aware interview generation
  • AI-based evaluation
  • Performance tracking
  • Continuous learning through analytics

Key Features

Authentication

  • Google OAuth Authentication
  • GitHub OAuth Authentication
  • Email Magic Link Authentication
  • Protected Routes
  • Session Management using NextAuth.js

AI Interview Engine

  • Resume-based question generation
  • Technical interview simulation
  • HR interview simulation
  • Behavioral interview simulation
  • System Design interview support
  • Follow-up questioning
  • Context-aware conversations

Resume Analysis

  • PDF Resume Upload
  • Resume Text Extraction
  • Skill Detection
  • Technology Identification
  • Personalized Interview Preparation

AI Feedback

After every response, Gemini AI provides:

  • Technical Accuracy
  • Communication Quality
  • Strengths
  • Weaknesses
  • Suggested Improvements
  • Overall Interview Score

Dashboard

Users can monitor their preparation through:

  • Interview History
  • Performance Analytics
  • Category-wise Scores
  • Practice Streaks
  • Progress Charts
  • Achievement Badges

Future Enhancements

  • Voice-based interviews
  • Webcam interview mode
  • Emotion and confidence analysis
  • Coding interview environment
  • Company-specific interview rounds
  • Leaderboards
  • Mobile application

Tech Stack

Frontend

  • Next.js 14 (App Router)
  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui

Backend

  • Next.js Server Actions
  • API Route Handlers
  • tRPC

Database

  • PostgreSQL (Neon)
  • Prisma ORM

Authentication

  • NextAuth.js v5
  • Google OAuth
  • GitHub OAuth
  • Magic Link Authentication

Artificial Intelligence

  • Google Gemini API

File Storage

  • Cloudinary

Email Service

  • Resend

Deployment

  • Vercel

System Architecture

Client (Next.js)
        β”‚
        β–Ό
NextAuth Authentication
        β”‚
        β–Ό
Protected Dashboard
        β”‚
        β–Ό
tRPC / API Routes
        β”‚
        β–Ό
Business Logic
        β”‚
 β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
 β–Ό               β–Ό
Gemini API    PostgreSQL
                    β”‚
                    β–Ό
                Prisma ORM

Project Structure

src
β”‚
β”œβ”€β”€ app
β”‚   β”œβ”€β”€ api
β”‚   β”œβ”€β”€ dashboard
β”‚   β”œβ”€β”€ interview
β”‚   β”œβ”€β”€ analytics
β”‚   β”œβ”€β”€ login
β”‚   └── page.tsx
β”‚
β”œβ”€β”€ components
β”‚   β”œβ”€β”€ dashboard
β”‚   β”œβ”€β”€ interview
β”‚   β”œβ”€β”€ auth
β”‚   β”œβ”€β”€ landing
β”‚   └── ui
β”‚
β”œβ”€β”€ lib
β”‚
β”œβ”€β”€ hooks
β”‚
β”œβ”€β”€ services
β”‚
β”œβ”€β”€ types
β”‚
β”œβ”€β”€ middleware.ts
β”‚
β”œβ”€β”€ auth.ts
β”‚
└── auth.config.ts

prisma
β”‚
└── schema.prisma

Database Design

Main entities used in the application:

  • User
  • Resume
  • InterviewSession
  • InterviewQuestion
  • InterviewResponse
  • Analytics
  • Achievement

Relationships are managed using Prisma ORM with PostgreSQL.


Development Workflow

Day 1

  • Project Initialization
  • Authentication
  • Landing Page
  • UI Components

Day 2

  • Database Schema
  • Prisma Models
  • API Integration

Day 3

  • Gemini AI Integration
  • Interview Generation
  • Streaming Responses

Day 4

  • Resume Upload
  • Resume Parsing
  • Personalized Questions

Day 5

  • Analytics Dashboard
  • Charts
  • User Progress Tracking

Day 6

  • Performance Optimization
  • Testing
  • Bug Fixes

Day 7

  • Deployment
  • Documentation
  • Final Review

Installation

git clone https://github.com/<username>/InterviewPilot-AI.git

cd InterviewPilot-AI

npm install

cp .env.example .env.local

Configure all required environment variables.

Run Prisma migrations:

npx prisma generate

npx prisma migrate dev

Start the development server:

npm run dev

Application runs at:

http://localhost:3000

Learning Outcomes

This project provided practical experience with:

  • Full Stack Application Development
  • Authentication using OAuth
  • API Design
  • Database Modeling
  • ORM with Prisma
  • AI Integration using Gemini
  • Prompt Engineering
  • File Upload and Processing
  • Secure Session Management
  • Deployment on Vercel

Future Scope

The platform can be extended to include:

  • Live video interviews
  • AI speech evaluation
  • Coding interview playground
  • Company-specific interview modules
  • Recruiter dashboard
  • Resume ATS optimization
  • Multi-language interview support

License

This project is licensed under the MIT License.


Author

Sanket Kamshetty

Computer Science Engineering Student

Passionate about Full-Stack Development, Artificial Intelligence, and Building Practical Software Solutions.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages