Skip to content

23Amansharma/Multimodel_Explainable-AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Intivolution AI Logo

Multimodel_Explainable-AI (Intivolution) β€” AI-Powered Interview Preparation Platform

Practice smarter. Interview better.
An end-to-end AI interview preparation platform with adaptive questioning, real-time voice analysis, resume intelligence, and detailed performance feedback.

Next.js React Gemini AI Clerk Drizzle ORM Neon TailwindCSS License: MIT

✨ Live Demo Β· πŸ“„ Report an Issue Β· 🀝 Contribute


πŸ“Œ Table of Contents


🎯 About the Project

Multimodel Explainable AI is a final-year B.Tech project built to solve a real problem: most job seekers practice interviews with static question banks and receive zero meaningful feedback. This platform changes that.

It simulates realistic interview sessions using Google Gemini AI, generates role-specific and resume-aware questions, records your spoken answers via the Web Speech API, and produces a structured performance report with scoring, strengths, weaknesses, and actionable next steps β€” all without any human evaluator.


✨ Key Features

Feature Description
πŸ€– AI Mock Interviews Gemini AI generates custom interview questions based on job role, experience level, and resume
πŸ”„ Adaptive Questioning Questions evolve dynamically based on your previous answers, simulating a real interviewer
πŸŽ™οΈ Voice-Based Answering Record answers using your webcam + microphone via Web Speech API
πŸ“Š Interview Analytics Detailed per-session reports with scores, strengths, weaknesses, and improvement tips
πŸ“„ Resume Analysis Upload your resume and get AI-powered gap analysis and suggestions
🧠 Skill Assessment Evaluate your technical and soft skills with AI-generated assessments
πŸ’¬ AI Prep Coach Interactive chat assistant on the dashboard to guide your preparation strategy
πŸ“§ Email Reports Interview performance reports delivered to your inbox
πŸ”’ Secure Auth Sign in / Sign up powered by Clerk (Google OAuth + email support)
πŸŒ™ Dark/Light Mode Theme-aware UI using next-themes

πŸ› οΈ Tech Stack

Frontend

  • Next.js 14 (App Router) β€” Server & client components
  • React 18 β€” UI library
  • Tailwind CSS β€” Utility-first styling
  • Framer Motion β€” Animations and transitions
  • Radix UI / Headless UI β€” Accessible UI primitives
  • Lucide React / React Icons / Heroicons β€” Icon libraries
  • Sonner β€” Toast notifications

AI & Intelligence

  • Google Gemini AI (@google/generative-ai) β€” Question generation, answer evaluation, feedback

Auth

  • Clerk β€” Authentication (OAuth, email/password, session management)

Database

  • Neon Database β€” Serverless PostgreSQL
  • Drizzle ORM β€” Type-safe SQL ORM
  • Drizzle Kit β€” DB migrations

Browser APIs

  • Web Speech API β€” Speech-to-text for answer recording
  • react-webcam β€” Webcam access in browser

Utilities

  • uuid, moment, dotenv, clsx, tailwind-merge

πŸ“ Project Structure

Multimodel_Explainable-AI/
β”œβ”€β”€ app/                        # Next.js App Router
β”‚   β”œβ”€β”€ (auth)/                 # Sign in / Sign up pages (Clerk)
β”‚   β”œβ”€β”€ about-us/               # About the platform page
β”‚   β”œβ”€β”€ ai-preparation/         # AI-guided preparation page
β”‚   β”œβ”€β”€ api/                    # API routes (server-side)
β”‚   β”‚   β”œβ”€β”€ dashboard-prep-chat/   # AI Prep Coach API
β”‚   β”‚   β”œβ”€β”€ feedback/              # Interview feedback API
β”‚   β”‚   β”œβ”€β”€ gemini/                # Gemini AI integration
β”‚   β”‚   β”œβ”€β”€ interview-report/      # Report generation API
β”‚   β”‚   └── interviews/            # CRUD for interviews & answers
β”‚   β”œβ”€β”€ dashboard/              # Main user dashboard
β”‚   β”‚   β”œβ”€β”€ _components/        # Dashboard UI components
β”‚   β”‚   └── interview/[id]/     # Individual interview session
β”‚   β”‚       β”œβ”€β”€ start/          # Live interview page (webcam + voice)
β”‚   β”‚       └── feedback/       # Post-interview feedback page
β”‚   β”œβ”€β”€ how-it-works/           # Explainer page
β”‚   β”œβ”€β”€ resume-analysis/        # Resume upload & analysis
β”‚   └── skill-assessment/       # Skill evaluation page
β”‚
β”œβ”€β”€ components/                 # Shared reusable components
β”‚   β”œβ”€β”€ home/                   # Landing page sections
β”‚   β”œβ”€β”€ resume/                 # Resume analyzer component
β”‚   └── ui/                     # shadcn/ui base components
β”‚
β”œβ”€β”€ drizzle/                    # DB migration files
β”œβ”€β”€ lib/                        # Server-side utilities (auth, db queries)
β”œβ”€β”€ utils/                      # Client + shared utilities
β”‚   β”œβ”€β”€ GeminiAIModal.js        # Gemini API wrapper
β”‚   β”œβ”€β”€ interview-analytics.js  # Analytics computation
β”‚   β”œβ”€β”€ report-pdf.js           # PDF report generation
β”‚   β”œβ”€β”€ interview-report-email.js # Email report sender
β”‚   └── schema.js               # Drizzle DB schema
β”‚
β”œβ”€β”€ public/                     # Static assets (logo, images)
β”œβ”€β”€ .env.example                # Environment variable template
β”œβ”€β”€ drizzle.config.js           # Drizzle ORM config
β”œβ”€β”€ next.config.mjs             # Next.js config
β”œβ”€β”€ tailwind.config.js          # Tailwind config
└── package.json

πŸš€ Getting Started

Prerequisites

Make sure you have the following installed:


Installation

  1. Clone the repository

    git clone https://github.com/23Amansharma/Multimodel_Explainable-AI.git
    cd Multimodel_Explainable-AI
  2. Install dependencies

    npm install
  3. Set up environment variables

    cp .env.example .env.local

    Fill in your keys (see Environment Variables below).


Environment Variables

Create a .env.local file in the root directory. Refer to .env.example for all required variables:

# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_...
CLERK_SECRET_KEY=sk_test_...
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up

# Google Gemini AI
NEXT_PUBLIC_GEMINI_API_KEY=AIza...

# Neon Database (PostgreSQL)
DATABASE_URL=postgresql://...

⚠️ Never commit your .env.local file. It is already in .gitignore.


Database Setup

This project uses Drizzle ORM with Neon Serverless Postgres.

  1. Push the schema to your Neon database:

    npm run db:push
  2. (Optional) Open Drizzle Studio to view/manage data:

    npm run db:studio

Running the App

# Development
npm run dev

# Production build
npm run build
npm start

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


πŸ“Έ Screenshots

Dashboard Live Interview Feedback Report
Dashboard Interview Feedback

πŸ‘₯ Authors

This project was built as a Final Year B.Tech Project.

Name GitHub Role
Aman Sharma @23Amansharma Full Stack / AI Integration
Alok Gupta @mrinvictus2005 Full Stack / Data Analyst

Both authors contributed equally to the research, design, development, and documentation of this project.


πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for full details.

You are free to use, modify, and distribute this project with proper attribution.


Acknowledgements

  • Google Gemini AI β€” for the AI question generation and evaluation backbone
  • Clerk β€” for frictionless authentication
  • Neon β€” for serverless PostgreSQL
  • Drizzle ORM β€” for the clean, type-safe database layer
  • Vercel β€” for deployment

Made with ❀️ as a Final Year Project

⭐ If this project helped you, consider giving it a star!

Releases

No releases published

Packages

 
 
 

Contributors