An AI-powered interview practice platform that provides real-time feedback on body language, speech, and answer quality using computer vision and AI.
-
Real-Time Body Language Analysis
- Eye contact tracking
- Posture detection
- Fidgeting and gesture analysis
-
Speech Analysis
- Automatic transcription using OpenAI Whisper
- Filler word detection ("um", "uh", "like")
- Speaking pace analysis
-
AI-Powered Feedback
- Answer quality evaluation using Claude AI
- STAR format detection
- Personalized improvement suggestions
-
Progress Tracking
- Dashboard with performance metrics
- Improvement trends over time
- Session history and reports
- FastAPI - Modern Python web framework
- SQLAlchemy - Database ORM
- MediaPipe - Face and pose detection
- OpenAI Whisper - Speech-to-text
- Anthropic Claude - AI evaluation
- SQLite - Database (PostgreSQL for production)
- React 18 - UI library
- Vite - Build tool
- TailwindCSS - Styling
- React Query - Data fetching
- React Router - Navigation
- MediaPipe (Browser) - Client-side face detection
ai-interview-coach/
βββ backend/
β βββ app/
β β βββ api/routes/ # API endpoints
β β βββ analyzers/ # Analysis logic
β β βββ database/ # Models and DB config
β β βββ utils/ # Helper functions
β βββ requirements.txt
β βββ .env.example
βββ frontend/
β βββ src/
β β βββ components/ # React components
β β βββ pages/ # Page components
β β βββ services/ # API services
β βββ package.json
βββ data/
βββ videos/ # Interview recordings
βββ reports/ # Generated reports
- Python 3.11+
- Node.js 18+
- npm or yarn
- Navigate to backend directory:
cd backend- Create virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Create .env file:
cp .env.example .env- Add your Anthropic API key to .env:
ANTHROPIC_API_KEY=your_api_key_here
- Run the server:
cd app
python -m uvicorn main:app --reloadBackend will be available at http://localhost:8000
- Navigate to frontend directory:
cd frontend- Install dependencies:
npm install- Start development server:
npm run devFrontend will be available at http://localhost:5173
- Project structure
- Backend API setup
- Frontend React setup
- Database models
- Video recording
- Face detection integration
- Eye contact tracking
- Posture analysis
- Speech-to-text integration
- Filler word detection
- Claude AI integration
- Report generation
- Dashboard with charts
- PDF export
- Progress tracking
- Docker setup
- Deploy backend
- Deploy frontend
- Documentation
- Demo video
- Go to https://console.anthropic.com/
- Sign up (get $5 free credit)
- Navigate to "API Keys"
- Create new key
- Add to
.envfile
- Stores overall interview data
- Tracks scores and metrics
- Links to video recordings
- Interview question bank
- Categorized by type and difficulty
- Individual answers within sessions
- Detailed metrics per answer
- Long-term progress tracking
- Improvement metrics
Once backend is running, visit:
- API Docs: http://localhost:8000/docs
- Health Check: http://localhost:8000/api/health
POST /api/interviews/start- Start new sessionGET /api/interviews/{id}- Get session detailsGET /api/interviews/- List all sessionsPOST /api/interviews/{id}/upload-video- Upload videoPOST /api/interviews/{id}/complete- Complete session
POST /api/analysis/analyze- Analyze sessionGET /api/analysis/real-time/{id}- Real-time metrics
GET /api/reports/{id}- Get detailed reportGET /api/reports/{id}/pdf- Download PDFGET /api/reports/progress/summary- Progress summary
This is a personal portfolio project, but suggestions are welcome!
MIT License - feel free to use for your own learning
Ege Karaca
- LinkedIn: www.linkedin.com/in/ege-karaca
- GitHub: www.github.com/egekaraca
- MediaPipe by Google
- Anthropic Claude API
- OpenAI Whisper
- FastAPI community
Status: π§ In Development (Day 2/20 Complete)