Skip to content

subrattandon/skillgap-ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

17 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฅ SkillGap AI

AI-Powered Technical Interview Simulator & Skill Gap Analyzer

Next.js FastAPI TypeScript Python Tailwind CSS Docker License


โœจ Features ยท ๐Ÿ“ Project Structure ยท ๐Ÿ›  Tech Stack ยท ๐Ÿš€ Getting Started ยท ๐Ÿ“ Architecture ยท ๐Ÿค Contributing


๐Ÿ“– Overview

SkillGap AI is a full-stack monorepo application that simulates real technical interviews using AI and identifies skill gaps. It generates adaptive, role-specific questions across DSA, System Design, and HR/Behavioral domains โ€” adjusting difficulty in real-time based on your responses. Get detailed AI-powered feedback, per-question scoring, and track your progress over time.

๐ŸŸข Run it locally by following the Getting Started guide below.

๐Ÿ’ก Whether you're a beginner preparing for your first SDE interview or a senior engineer brushing up on system design โ€” this app adapts to your level and helps you identify and close skill gaps.


๐Ÿ“ Project Structure

skillgap-ai/
โ”‚
โ”œโ”€โ”€ frontend/              # Next.js 16 (App Router)
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ app/           # Pages & API routes
โ”‚   โ”‚   โ”œโ”€โ”€ components/    # UI components (shadcn/ui)
โ”‚   โ”‚   โ”œโ”€โ”€ hooks/         # Custom React hooks
โ”‚   โ”‚   โ””โ”€โ”€ lib/           # Utilities & Zustand store
โ”‚   โ”œโ”€โ”€ public/            # Static assets
โ”‚   โ”œโ”€โ”€ prisma/            # Database schema
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ backend/               # FastAPI (Python)
โ”‚   โ”œโ”€โ”€ app/
โ”‚   โ”‚   โ”œโ”€โ”€ main.py        # FastAPI app entry point
โ”‚   โ”‚   โ”œโ”€โ”€ config.py      # Pydantic settings
โ”‚   โ”‚   โ”œโ”€โ”€ api/           # API route handlers
โ”‚   โ”‚   โ”œโ”€โ”€ services/      # Business logic & LLM service
โ”‚   โ”‚   โ”œโ”€โ”€ models/        # Pydantic request/response models
โ”‚   โ”‚   โ””โ”€โ”€ db/            # SQLAlchemy database setup
โ”‚   โ””โ”€โ”€ requirements.txt
โ”‚
โ”œโ”€โ”€ ai-engine/             # LLM + prompts (standalone module)
โ”‚   โ”œโ”€โ”€ prompts/
โ”‚   โ”‚   โ”œโ”€โ”€ evaluation.txt # Answer evaluation prompt
โ”‚   โ”‚   โ”œโ”€โ”€ question.txt   # Question generation prompt
โ”‚   โ”‚   โ”œโ”€โ”€ feedback.txt   # Overall feedback prompt
โ”‚   โ”‚   โ””โ”€โ”€ hint.txt       # Hint generation prompt
โ”‚   โ”œโ”€โ”€ llm_service.py     # Python LLM service
โ”‚   โ””โ”€โ”€ README.md
โ”‚
โ”œโ”€โ”€ database/
โ”‚   โ”œโ”€โ”€ schema.sql         # PostgreSQL schema (Supabase-ready)
โ”‚   โ””โ”€โ”€ supabase.md        # Supabase setup guide
โ”‚
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ architecture.md    # System architecture with diagrams
โ”‚   โ””โ”€โ”€ flow.md            # Interview flow documentation
โ”‚
โ”œโ”€โ”€ scripts/
โ”‚   โ””โ”€โ”€ seed_data.py       # Database seeding script
โ”‚
โ”œโ”€โ”€ .env.example           # Environment variable template
โ”œโ”€โ”€ docker-compose.yml     # Docker orchestration
โ””โ”€โ”€ README.md

โœจ Features

๐Ÿง  AI-Powered Interview Engine

  • Adaptive Difficulty โ€” Questions get harder or easier based on your answer quality
  • Multiple Question Types โ€” DSA, System Design, and HR/Behavioral
  • 7 Tech Roles โ€” SDE, Frontend, Backend, Full Stack, DevOps, Data Analyst, ML Engineer
  • 3 Experience Levels โ€” Beginner, Intermediate, Senior
  • Question Type Filter โ€” Focus on specific categories you want to practice

๐Ÿ’ฌ Interactive Interview Chat

  • Real-time Chat Interface โ€” Smooth, animated message flow with staggered entrance
  • Per-Question Timer Ring โ€” SVG circular progress showing time per question
  • Typing Indicator โ€” Animated "Analyzing your response..." with brain avatar
  • Code Block Formatting โ€” Syntax-highlighted code blocks with one-click copy
  • Skip Question โ€” Skip difficult questions; AI generates an easier one next
  • Pause/Resume โ€” Pause the interview anytime with Ctrl+P

๐ŸŽฏ Practice Mode

  • AI Hints โ€” Stuck on a question? Get a hint without revealing the answer
  • No-Pressure Learning โ€” Practice at your own pace with guided assistance

๐Ÿ“Š Comprehensive Feedback & Scoring

  • AI Performance Review โ€” Overall score (1-10) with strengths & improvements
  • Per-Question AI Scoring โ€” Star ratings (1-5) with brief feedback after each answer
  • Performance Radar Chart โ€” Pentagon radar showing DSA, System Design, HR, Communication, Problem Solving
  • Difficulty Curve Visualization โ€” SVG chart tracking question difficulty progression
  • Session Comparison โ€” Compare current score vs. your historical average

๐Ÿ”– Bookmarks & History

  • Bookmark Questions โ€” Save questions for later review
  • Interview History โ€” Tracks last 50 sessions with scores, duration, and transcripts
  • Transcript Viewer โ€” Expand any past session to see the full Q&A transcript

๐ŸŽค Voice & Accessibility

  • Voice Input โ€” Speak your answers using Web Speech API (Chrome/Edge)
  • Text-to-Speech โ€” Listen to questions read aloud with one click
  • Keyboard Shortcuts โ€” Ctrl+Enter (send), Ctrl+K (skip), Ctrl+P (pause), ? (help)

๐Ÿ“ฅ Export & Share

  • PDF Export โ€” Print-friendly format with clean A4 layout
  • Copy Transcript โ€” Formatted text with header + Q&A pairs
  • Export JSON โ€” Full structured data including stats and feedback

๐ŸŽจ Premium UI/UX

  • Teal/Emerald Theme โ€” Vibrant, modern color palette with dark mode support
  • Glassmorphism Effects โ€” Frosted glass panels with backdrop blur
  • Floating Orb Animations โ€” Animated gradient orbs on setup & summary pages
  • Phase Transitions โ€” Smooth slide animations between setup โ†’ interview โ†’ summary
  • Micro-Interactions โ€” Hover scales, ripple effects, spring animations
  • Social Proof Section โ€” Testimonials from engineers at top companies
  • Mobile Responsive โ€” Full mobile support with bottom action bar
  • Custom Scrollbars โ€” Styled scrollbars matching the theme

๐Ÿ›  Tech Stack

Category Frontend Backend
Framework Next.js 16 (App Router) FastAPI
Language TypeScript 5 Python 3.11+
Styling Tailwind CSS 4 + shadcn/ui โ€”
Animations Framer Motion โ€”
State Zustand โ€”
AI Engine z-ai-web-dev-sdk httpx (direct gateway calls)
Database Prisma (SQLite) SQLAlchemy
Icons Lucide React โ€”
Theming next-themes โ€”
Validation Zod Pydantic
Deployment Docker / any Node host Docker / any Python host

๐Ÿš€ Getting Started

Prerequisites

  • Node.js 18+ or Bun runtime
  • Python 3.11+ (for backend)
  • Docker (optional, for containerized setup)

Quick Start (Frontend Only)

# Clone the repository
git clone https://github.com/subrattandon/skillgap-ai.git
cd skillgap-ai

# Install dependencies
bun install

# Set up environment variables
cp .env.example frontend/.env
# Edit frontend/.env with your configuration

# Push database schema
bun run db:push

# Start development server
bun run dev

The frontend will be running at http://localhost:3000

Full Stack Setup (Frontend + Backend)

# Terminal 1: Start frontend
bun run dev:frontend

# Terminal 2: Start backend
cd backend
pip install -r requirements.txt
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

Docker Setup

# Start all services
docker compose up -d

# Frontend: http://localhost:3000
# Backend:  http://localhost:8000
# API Docs: http://localhost:8000/docs

Environment Variables

Copy .env.example and fill in your configuration:

# Database
DATABASE_URL=file:./db/custom.db

# Z-AI Gateway (for LLM calls)
ZAI_API_KEY=your-api-key-here
ZAI_GATEWAY_URL=http://localhost:3000

# Frontend
NEXT_PUBLIC_APP_URL=http://localhost:3000

# Backend
BACKEND_URL=http://localhost:8000

๐Ÿ“ Architecture

System Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  โ”‚     โ”‚                  โ”‚     โ”‚                  โ”‚
โ”‚    Frontend      โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚    Backend       โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚    AI Engine     โ”‚
โ”‚    (Next.js)     โ”‚     โ”‚    (FastAPI)     โ”‚     โ”‚    (z-ai SDK)    โ”‚
โ”‚    Port: 3000    โ”‚     โ”‚    Port: 8000    โ”‚     โ”‚                  โ”‚
โ”‚                  โ”‚     โ”‚                  โ”‚     โ”‚                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚                       โ”‚
         โ”‚                       โ”‚
         โ–ผ                       โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  โ”‚     โ”‚                  โ”‚
โ”‚    Prisma        โ”‚     โ”‚    SQLAlchemy    โ”‚
โ”‚    (SQLite)      โ”‚     โ”‚    (SQLite/PG)   โ”‚
โ”‚                  โ”‚     โ”‚                  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

API Endpoints

Action Method Endpoint Description
start POST /api/interview Generate first question based on profile
next POST /api/interview Generate follow-up question based on answer
skip POST /api/interview Skip current question, get easier/different one
hint POST /api/interview Get AI hint for current question (practice mode)
evaluate POST /api/interview Score a specific answer (1-5 stars + feedback)
feedback POST /api/interview Generate comprehensive interview feedback
Health GET /api/health Backend health check

Data Flow

User Input โ†’ Frontend (React) โ†’ API Route โ†’ LLM Service โ†’ z-ai Gateway โ†’ AI Response
                                    โ”‚                              โ”‚
                                    โ–ผ                              โ–ผ
                              Prisma/SQLite              JSON Response

๐Ÿ“Š For detailed architecture diagrams, see docs/architecture.md ๐Ÿ”„ For interview flow diagrams, see docs/flow.md


๐ŸŽฎ Usage

  1. Set up your profile โ€” Choose your role, experience level, and skills
  2. Customize your session โ€” Select question types, enable practice mode, or use quick-start presets
  3. Start the interview โ€” Answer questions as the AI adapts to your performance
  4. Use power features โ€” Bookmark questions, request hints, use voice input, or TTS
  5. Review your performance โ€” Get detailed AI feedback with scores, radar chart, and actionable improvements
  6. Track progress โ€” View interview history and compare sessions over time

โŒจ๏ธ Keyboard Shortcuts

Shortcut Action
Ctrl + Enter Send answer
Ctrl + K Skip question
Ctrl + P Pause / Resume interview
? Show keyboard shortcuts
Escape Close dialogs

๐Ÿงฉ Key Design Decisions

Decision Rationale
Monorepo Structure Single repo for frontend, backend, and AI engine โ€” easier coordination
FastAPI Backend High-performance Python API with automatic OpenAPI docs
Separate AI Engine Prompts isolated for easy A/B testing and iteration
Client-side Voice/TTS Web Speech API for zero-cost, zero-latency voice features
localStorage for History Simple persistence without backend auth requirement
Zustand over Context Better performance, simpler API, no provider nesting
SVG Charts Lightweight, responsive charts without heavy chart libraries
window.print() for PDF Native browser PDF with @media print CSS โ€” no dependencies
Supabase-ready Schema PostgreSQL schema with RLS policies for production deployment

๐Ÿค Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Ideas for Contributions

  • WebSocket for real-time question streaming
  • Resume/Cover letter analysis feature
  • Collaborative interview mode (multiple interviewers)
  • More question sub-types (debugging, code review, estimation)
  • Interview templates for specific companies
  • Leaderboard and community features
  • Mobile app with React Native
  • Skill gap visualization dashboard
  • Learning resource recommendations based on weak areas
  • Multi-language support

๐Ÿ“„ License

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



Built with โค๏ธ by Subrat Tandon

โญ If this project helped you prepare for your interview, give it a star!

โฌ† Back to Top

About

๐Ÿ”ฅ AI-Powered Technical Interview Simulator & Skill Gap Analyzer โ€” Monorepo with Next.js 16 Frontend, FastAPI Backend, and AI Engine

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors