AI-powered interview coaching platform with real-time feedback, adaptive study plans, and voice analysis
Features • Architecture • Quick Start • API • Contributing
InterviewMaster AI is a full-stack interview preparation platform that uses AI agents to deliver personalized coaching. Upload your resume, practice with adaptive mock interviews, get real-time AI feedback, and track your progress — all from a premium, modern interface.
- Adaptive Question Generation — AI generates role-specific questions based on your resume, target role, and difficulty level
- Real-Time Answer Evaluation — Get scored on relevance, depth, clarity, and structure with actionable suggestions
- Multi-Category Support — Technical, behavioral, system design, and situational questions
- Resume Upload & Parsing — Supports PDF, DOCX formats with AI-powered text extraction
- Skill Extraction — Automatically identifies technical skills, experience level, and career trajectory
- Resume-Based Interviews — AI generates interview questions specifically from your resume content
- 30-Day Personalized Plans — AI creates day-by-day study schedules based on your skill gaps
- Gap Analysis — Identifies weak areas and prioritizes improvement areas
- Progress Tracking — Track daily completion and adjust plans dynamically
- FAANG & Top Company Prep — Tailored coaching for specific companies (Google, Amazon, Meta, etc.)
- Company Culture Insights — Learn interview patterns and expectations per company
- Role-Specific Strategies — Different coaching paths for SDE, PM, Data Science, and more
- Interview Modes — Choose flexible Practice sessions or strict Mock Interviews (requires video/audio)
- Dual-Mode Inputs — Answer via text or record voice/video responses
- Speech-to-Text — Whisper-powered transcription of voice recordings (CPU/GPU supported)
- Voice Analysis — Speaking pace, pause detection, filler word tracking, and confidence scoring
- Audio/Video Playback — Review your recordings with AI-annotated feedback
- Performance Analytics — Track scores across sessions with interactive charts
- Skill Heatmap — Visual breakdown of strengths and weaknesses by category
- Session History — Complete history of all practice sessions with detailed reviews
- Improvement Trends — See how your scores evolve over time
- Achievements & Badges — Unlock achievements for milestones (first interview, streak goals, high scores)
- Practice Streaks — Daily streak tracking with streak protection
- Leaderboard — Compare your progress with other users
- XP & Level System — Earn experience points and level up
- JWT Authentication — Secure login/register with access & refresh tokens
- Email Service — Password reset, welcome emails (SMTP/Gmail/SendGrid/SES)
- Data Export — Export session data and analytics as PDF reports
- Admin Dashboard — User management and system monitoring
- Redis Caching — High-performance caching for analytics and session data
- Dark Mode UI — Premium glassmorphism design with smooth animations
┌─────────────────────────────────────────────────────────┐
│ Frontend (React 18) │
│ TypeScript • Material-UI • Framer Motion │
│ Vite Dev Server (port 5173) │
└───────────────────────┬─────────────────────────────────┘
│ REST API
┌───────────────────────▼─────────────────────────────────┐
│ Backend (FastAPI) │
│ SQLAlchemy • Alembic • Pydantic • Loguru │
│ Uvicorn Server (port 8000) │
├─────────────┬───────────────────────┬───────────────────┤
│ AI Agents │ Media Services │ Auth & Core │
│ ─────────── │ ───────────────────── │ ───────────────── │
│ Resume │ Whisper STT │ JWT Auth │
│ Study Plan │ Librosa Analysis │ User Management │
│ Company │ FFmpeg Processing │ Email Service │
│ Coaching │ Audio/Video Storage │ Data Export │
└──────┬──────┴───────────┬───────────┴────────┬──────────┘
│ │ │
┌──────▼──────┐ ┌───────▼───────┐ ┌───────▼───────┐
│ AI / LLM │ │ PostgreSQL │ │ Redis │
│ Providers │ │ Database │ │ Cache │
│(Gemini, HF) │ │ (port 5432) │ │ (port 6379) │
└─────────────┘ └───────────────┘ └───────────────┘
| Layer | Technologies |
|---|---|
| Frontend | React 18, TypeScript, Material-UI (MUI), Framer Motion, Redux Toolkit, Vite |
| Backend | Python 3.10+, FastAPI, SQLAlchemy 2.0, Alembic, Pydantic v2 |
| Database | PostgreSQL 16, Redis 7 |
| AI/ML | Google Gemini API, HuggingFace Inference API (Llama-3), LangChain, Whisper (Speech-to-Text), Librosa |
| Media | FFmpeg, PyAV, SoundFile |
| Auth | JWT (Access + Refresh Tokens), Passlib/Bcrypt |
| DevOps | Docker, Docker Compose, GitHub Actions CI/CD |
- Python 3.10+
- Node.js 18+
- PostgreSQL 16+
- Redis 7+
- FFmpeg (for audio/video processing)
# Clone the repository
git clone https://github.com/Logesh-Murugan/AI-Powered-Interview-Coach.git
cd AI-Powered-Interview-Coach
# Set up environment variables
cp backend/.env.example backend/.env
# Edit backend/.env with your API keys
# Start all services
docker-compose up -d
# Access the application
# Frontend: http://localhost:5173
# Backend: http://localhost:8000
# API Docs: http://localhost:8000/docs# Create PostgreSQL database
createdb interviewmaster
# Start Redis server
redis-servercd backend
# Create virtual environment
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your database URL and API keys
# Run database migrations
alembic upgrade head
# Start the server
python -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reloadcd frontend
# Install dependencies
npm install
# Start development server
npm run dev| Service | URL |
|---|---|
| Frontend | http://localhost:5173 |
| Backend API | http://localhost:8000 |
| API Documentation | http://localhost:8000/docs |
| Health Check | http://localhost:8000/health |
Create a backend/.env file based on backend/.env.example:
# Required
DATABASE_URL=postgresql://user:password@localhost:5432/interviewmaster
SECRET_KEY=your-secure-secret-key-minimum-32-characters
# AI Providers (At least one is recommended)
GEMINI_API_KEY=your-gemini-api-key
HUGGINGFACE_API_KEY=your-huggingface-api-key
# Optional (for additional features)
REDIS_HOST=localhost
EMAIL_ENABLED=False
SMTP_HOST=smtp.gmail.com
SMTP_USERNAME=your-email@gmail.com
SMTP_PASSWORD=your-app-passwordNote: Get your Gemini API key from Google AI Studio
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/auth/register |
Register a new user |
POST |
/api/v1/auth/login |
Login and get tokens |
POST |
/api/v1/auth/refresh |
Refresh access token |
GET |
/api/v1/users/me |
Get current user profile |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/interviews/ |
Create new interview session |
GET |
/api/v1/interviews/ |
List all sessions |
GET |
/api/v1/interviews/{id} |
Get session details |
POST |
/api/v1/interviews/{id}/submit |
Submit answer |
GET |
/api/v1/interviews/{id}/summary |
Get session summary |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/resumes/upload |
Upload resume for analysis |
POST |
/api/v1/resume-analysis/analyze |
AI resume analysis |
POST |
/api/v1/study-plans/ |
Generate study plan |
POST |
/api/v1/company-coaching/ |
Get company coaching |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/analytics/summary |
Performance analytics |
GET |
/api/v1/achievements/ |
User achievements |
GET |
/api/v1/streaks/ |
Streak data |
GET |
/api/v1/leaderboard/ |
Global leaderboard |
📖 Full interactive API documentation available at
/docswhen running the backend.
Ai_powered_interview_coach/
├── backend/
│ ├── app/
│ │ ├── config.py # Application configuration
│ │ ├── database.py # Database connection
│ │ ├── main.py # FastAPI app entry point
│ │ ├── models/ # SQLAlchemy models
│ │ ├── routes/ # API route handlers
│ │ ├── schemas/ # Pydantic schemas
│ │ ├── services/ # Business logic
│ │ │ ├── agents/ # AI agent system
│ │ │ │ ├── resume_agent_service.py
│ │ │ │ ├── study_plan_agent_service.py
│ │ │ │ └── company_coaching_agent_service.py
│ │ │ ├── ai/ # AI provider orchestration
│ │ │ │ ├── orchestrator.py
│ │ │ │ ├── circuit_breaker.py
│ │ │ │ └── quota_tracker.py
│ │ │ ├── analytics_service.py
│ │ │ ├── evaluation_service.py
│ │ │ └── media_service.py
│ │ ├── middleware/ # Request validation
│ │ └── utils/ # Utilities
│ ├── alembic/ # Database migrations
│ ├── requirements.txt
│ ├── Dockerfile
│ └── .env.example
├── frontend/
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Application pages
│ │ │ ├── LandingPage.tsx
│ │ │ ├── dashboard/
│ │ │ ├── interview/
│ │ │ ├── ai/ # Resume, Study Plans, Coaching
│ │ │ ├── analytics/
│ │ │ ├── achievements/
│ │ │ └── leaderboard/
│ │ ├── services/ # API service layer
│ │ ├── store/ # Redux state management
│ │ └── theme/ # MUI theme configuration
│ ├── package.json
│ └── vite.config.ts
├── docker-compose.yml
├── LICENSE
└── README.md
# Backend tests
cd backend
pytest --cov=app tests/
# Frontend tests
cd frontend
npm testContributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch
git checkout -b feature/your-feature-name
- Commit your changes
git commit -m "feat: add your feature description" - Push to your branch
git push origin feature/your-feature-name
- Open a Pull Request
| Prefix | Usage |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
docs: |
Documentation |
style: |
Formatting |
refactor: |
Code refactoring |
test: |
Adding tests |
chore: |
Maintenance |
Logesh M
📧 logeshmuruganofficial@gmail.com
🔗 LinkedIn — linkedin.com/in/logesh01
This project is licensed under the MIT License — see the LICENSE file for details.
Built with ❤️ by Logesh M
Empowering candidates with AI-driven coaching to land their dream jobs