"Shipped at the edge of exhaustion. Built with intention."
PrepTrack AI is a comprehensive, AI-powered interview and career preparation platform built with React 19, TypeScript, Vite, and the Google Gemini API. It helps students and professionals get job-ready through structured learning paths, live mock interviews, resume analysis, AI mentoring, and more — all in one unified interface.
This is the final stable build (backup for best 17-11) — timestamped April 11, 2026 at 17:11, featuring:
- ✅ Video subtitles fixed — Interview Simulator subtitle sync corrected
- ✅ Video player fixed — Embedded video playback issues resolved
- ✅ All core features fully functional and tested
| Feature | Description |
|---|---|
| 🎯 Personalized Onboarding | Select domains, languages, and target companies on first launch |
| 📊 Dashboard | Track progress across all active learning paths with visual indicators |
| 📚 Curriculum View | Structured topic-by-topic learning with videos, notes, and practice problems |
| 🎤 Interview Simulator | 4-round AI mock interview with TTS voice questions, cheating detection, and a full hiring report |
| 🤖 Mentor AI | Personal AI mentor for on-demand guidance, doubt resolution, and roadmap advice |
| 📄 Resume Analyzer | Upload a resume and get an AI-powered analysis with skill gap insights |
| 💼 Job Match | Match your profile against job descriptions with compatibility scoring |
| 🔭 Tech Scout | Discover trending technologies and tools relevant to your domain |
| 📝 Mock Assessment | Timed MCQ assessments with instant scoring and feedback |
| 💻 Code Challenge | AI-generated coding problems with automated evaluation |
- Frontend: React 19, TypeScript, Tailwind CSS
- Build Tool: Vite 6
- AI Engine: Google Gemini 2.5 Flash (
@google/genai)- Text generation, TTS voice synthesis, behavior analysis
- Storage:
localStoragefor user progress and session persistence
├── App.tsx # Root router & global state manager
├── index.tsx # React entry point
├── types.ts # Shared TypeScript interfaces & types
├── components/
│ ├── Landing.tsx # Auth / login screen
│ ├── Onboarding.tsx # Domain & preference setup
│ ├── Dashboard.tsx # Main hub with progress overview
│ ├── CurriculumView.tsx # Topic-level learning path
│ ├── InterviewSim.tsx # 4-round mock interview engine (TTS + video)
│ ├── MentorAI.tsx # Conversational AI mentor
│ ├── ResumeAnalyzer.tsx # PDF resume upload & analysis
│ ├── JobMatch.tsx # JD-to-profile matching
│ ├── TechScout.tsx # Technology discovery tool
│ ├── MockAssessment.tsx # Timed MCQ quiz engine
│ └── CodeChallenge.tsx # Coding problem generator & evaluator
├── services/
│ ├── geminiService.ts # Gemini API calls (TTS, interview questions, reports)
│ ├── behaviorAnalysis.ts # Cheating / behavior detection logic
│ ├── onDemandService.ts # On-demand AI generation helpers
│ └── pdfExtractor.ts # Resume PDF text extraction
├── data/
│ └── curriculum.ts # Static learning path content for all domains
├── index.html
├── vite.config.ts
└── tsconfig.json
- Node.js v18+
- A valid Google Gemini API key
# 1. Clone / unzip the project
cd preptrack-ai
# 2. Install dependencies
npm install
# 3. Set up your environment
cp .env.local.example .env.local
# Then add your key:
# VITE_API_KEY=your_gemini_api_key_here
# 4. Start the dev server
npm run devnpm run build
npm run previewPrepTrack supports structured learning paths across 5 domains:
- DSA — Data Structures & Algorithms (Python, C++, Java)
- ML — Machine Learning (Python, TensorFlow, PyTorch)
- Data Science — Data analysis, visualization, SQL
- Cyber Security — Network security, ethical hacking, cryptography
- Web Dev — Frontend, Backend, Full Stack
Target companies: Google, Amazon, Core ECE
| Variable | Purpose |
|---|---|
API_KEY |
Google Gemini API key (required for all AI features) |
- Upload your resume (PDF) before starting
- The AI reads your resume and tailors questions to your experience
- 4 rounds are conducted:
- Round 1: Fundamentals
- Round 2: Application & Scenarios (resume-specific)
- Round 3: Advanced / Problem Solving (company tech stack)
- Round 4: HR & Communication
- Voice questions are spoken aloud via Gemini TTS (Kore voice)
- On completion, a full hiring report is generated including scores, skill breakdown, behavior flags, and a hire/no-hire recommendation
- User progress is saved to
localStorageunderpreptrack_progress_v3andpreptrack_user_v3 - Video subtitles and playback have been patched in this final commit
- The
.env.localfile is included in.gitignore— never commit your API key
Third Commit — April 12, 2026 · 12:15 AM What's New in This Commit 🚀 AI Engine & Performance Optimization Transitioned to Production-Grade AI: Replaced prototype mock engines with a pluggable architecture in services/geminiService.ts, fully integrating Gemini for richer, context-aware feedback.
Optimized Build Pipeline: Refined vite.config.ts and build scripts for a more lightweight production footprint and faster HMR (Hot Module Replacement) during development.
📈 Smart Job Discovery & Dashboard Integration Contextual Job Matching: Implemented a new recommendation engine that suggests real-world roles based on curriculum completion percentages and skills validated through the AI Interview Simulator.
Enhanced Dashboard UI: Redesigned the activity control center to visualize upcoming milestones and track multi-domain mastery assessments in a single view.
🛠️ Core Infrastructure & Stability Schema Validation: Hardened the data layer in data/curriculum.ts to ensure consistency across the learning paths for DSA, Web Dev, ML, Data Science, and Cyber Security.
Improved State Persistence: Enhanced localStorage synchronization to prevent data loss during multi-step mock tests and long-form interview simulations.
Unified Branding: Applied a cohesive UI/UX theme across all new modules (InterviewSim, MentorAI, and ResumeAnalyzer) using Tailwind CSS for a polished, "hackathon-ready" finish.
📝 Documentation & Project Layout New Project Manifest: Added a comprehensive README.md featuring a quick-start guide, tech stack breakdown, and high-level project architecture.
Refactored Component Tree: Reorganized the components/ directory for better modularity, separating core views (Landing, Onboarding) from interactive widgets.
Second Commit — April 11, 2025 · 9:30 PM
- Migrated from Create React App to Vite with full TypeScript support
- Upgraded to React 19 and
@google/genaiSDK (replaces directfetchcalls to Gemini REST API) - New strongly-typed data models in
types.tscovering domains, learning paths, topics, interview reports, and user preferences
- Multi-step onboarding screen on first login
- Users select their domains (DSA, ML, Data Science, Cyber Security, Web Dev)
- Per-domain configuration: language choice, skill level, libraries, focus areas
- Preferences saved to
localStorageand used to personalise the entire dashboard
- Structured, domain-specific learning paths with topics, descriptions, resources, and practice problems
- Resources include videos, notes, and projects per topic
- Progress tracked via topic completion toggles, persisted in
localStorage
- Now supports resume upload (paste text) to personalise questions
- 4-round interview simulation targeting Google, Amazon, or Core ECE roles
- Round breakdown: Fundamentals → Application → Advanced Problem Solving → HR
- AI-generated questions adapt based on previous answers (follow-up logic)
- Text-to-speech via Gemini 2.5 Flash TTS — interviewer voice reads each question aloud
- Comprehensive final report: overall score, grade, per-round scores, skill breakdown (conceptual, problem solving, communication, confidence, practical)
- Cheating detection flags, resume skill verification, hiring recommendation (Hire / Borderline / Needs Improvement)
- Score charts (pie + bar) in final report
- Personalised study roadmap generator
- User inputs domains, level per domain, daily study hours, duration, and weak areas
- AI generates a structured, week-by-week preparation roadmap
- Powered by an on-demand session service (
onDemandService.ts)
- Paste resume text + specify target job role
- AI returns a score, missing skills, and actionable improvement tips
- Parsed structured report with visual score display
- Previously a "coming soon" stub — now fully implemented
- Retained from v0.1, integrated into new routing and type system
AI-powered interview preparation platform — built for students and job seekers who want to practice smarter. First Commit — April 11, 2025 · 6:30 PM
PrepTrack AI is a web application that helps candidates prepare for job interviews using Google's Gemini AI. Instead of reading generic tips, users get a live, interactive experience — real questions, real feedback, real scores. Built as a hackathon project. Fast, focused, and functional.
- Login and Register screens
- localStorage-based session management
- Protected routes (redirects unauthenticated users)
- Select a job role (Software Engineer, Data Scientist, PM, etc.)
- AI asks 5 real interview questions via Gemini
- Submit your answers and get instant written feedback
- Full session summary at the end
- Choose a topic (JavaScript, Python, DSA, SQL, React, ML, and more)
- Gemini generates 5 fresh MCQ questions every time
- Live answer selection with correct/wrong highlighting
- Final score with per-question breakdown
| Layer | Tech |
|---|---|
| Frontend | React.js 18 + React Router v6 |
| AI | Google Gemini API (gemini-1.5-flash) |
| Styling | Custom CSS (no UI library) |
| Auth | localStorage (demo-grade) |
| Build | Create React App |
# 1. Clone the repo
git clone https://github.com/YOUR_USERNAME/preptrack-ai.git
cd preptrack-ai
# 2. Install dependencies
npm install
# 3. Add your Gemini API key
cp .env.example .env
# Open .env and paste your key
# Get one free at: https://aistudio.google.com/app/apikey
# 4. Run locally
npm startNo API key? The app still works —
gemini.jshas built-in mock responses so every screen is fully demonstrable without a key.
preptrack-ai/
├── public/
│ └── index.html
├── src/
│ ├── App.jsx ← Router + protected routes
│ ├── index.js
│ ├── index.css ← Global design tokens
│ ├── pages/
│ │ ├── Login.jsx ← Auth (login + register)
│ │ ├── Dashboard.jsx ← Home with all feature cards
│ │ ├── AIInterview.jsx ← Live AI interview session
│ │ └── MockTest.jsx ← AI-generated MCQ test
│ └── utils/
│ └── gemini.js ← Gemini API calls + mock fallback
├── .env.example
├── .gitignore
└── README.md
- Upload resume as PDF
- Gemini reads and scores it against a target job role
- Highlights weak sections, missing keywords, and formatting issues
- Downloadable feedback report
- Input your skills and experience level
- AI matches you to job roles and explains the fit
- Suggests which skills to build next
- Interview history saved across sessions
- Mock test scores plotted over time
- Streak tracking and weekly goals
- Firebase or Supabase authentication
- User profiles with photo and bio
- Replace localStorage with real sessions
- Fully responsive mobile layout
- Dark mode toggle
- Deployed on Vercel
- Custom domain
This is a hackathon project in active development. PRs and issues welcome after v0.1 stabilises.
AI-powered interview preparation platform — built for students and job seekers who want to practice smarter.
First Commit — April 11, 2025 · 6:30 PM
PrepTrack AI is a web application that helps candidates prepare for job interviews using Google's Gemini AI. Instead of reading generic tips, users get a live, interactive experience — real questions, real feedback, real scores.
Built as a hackathon project. Fast, focused, and functional.
- Login and Register screens
- localStorage-based session management
- Protected routes (redirects unauthenticated users)
- Select a job role (Software Engineer, Data Scientist, PM, etc.)
- AI asks 5 real interview questions via Gemini
- Submit your answers and get instant written feedback
- Full session summary at the end
- Choose a topic (JavaScript, Python, DSA, SQL, React, ML, and more)
- Gemini generates 5 fresh MCQ questions every time
- Live answer selection with correct/wrong highlighting
- Final score with per-question breakdown
| Layer | Tech |
|---|---|
| Frontend | React.js 18 + React Router v6 |
| AI | Google Gemini API (gemini-1.5-flash) |
| Styling | Custom CSS (no UI library) |
| Auth | localStorage (demo-grade) |
| Build | Create React App |
# 1. Clone the repo
git clone https://github.com/YOUR_USERNAME/preptrack-ai.git
cd preptrack-ai
# 2. Install dependencies
npm install
# 3. Add your Gemini API key
cp .env.example .env
# Open .env and paste your key
# Get one free at: https://aistudio.google.com/app/apikey
# 4. Run locally
npm startNo API key? The app still works —
gemini.jshas built-in mock responses so every screen is fully demonstrable without a key.
preptrack-ai/
├── public/
│ └── index.html
├── src/
│ ├── App.jsx ← Router + protected routes
│ ├── index.js
│ ├── index.css ← Global design tokens
│ ├── pages/
│ │ ├── Login.jsx ← Auth (login + register)
│ │ ├── Dashboard.jsx ← Home with all feature cards
│ │ ├── AIInterview.jsx ← Live AI interview session
│ │ └── MockTest.jsx ← AI-generated MCQ test
│ └── utils/
│ └── gemini.js ← Gemini API calls + mock fallback
├── .env.example
├── .gitignore
└── README.md
- Upload resume as PDF
- Gemini reads and scores it against a target job role
- Highlights weak sections, missing keywords, and formatting issues
- Downloadable feedback report
- Input your skills and experience level
- AI matches you to job roles and explains the fit
- Suggests which skills to build next
- Interview history saved across sessions
- Mock test scores plotted over time
- Streak tracking and weekly goals
- Firebase or Supabase authentication
- User profiles with photo and bio
- Replace localStorage with real sessions
- Fully responsive mobile layout
- Dark mode toggle
- Deployed on Vercel
- Custom domain
This is a hackathon project in active development. PRs and issues welcome after v0.1 stabilises.