Intreview is an advanced AI-powered platform that helps users practice and improve their interview skills through real-time analysis of speech patterns, body language, and overall presentation. Built for FinHacks, this project combines cutting-edge AI technologies to provide comprehensive feedback on interview performance.
- Real-time Speech Analysis: Advanced speech pattern recognition with filler word detection
- Computer Vision Feedback: Posture monitoring, eye contact tracking, and sentiment analysis
- Live Performance Metrics: Instant feedback on speaking pace, clarity, and engagement
- Comprehensive Results: Detailed post-interview analysis with actionable recommendations
- Professional UI/UX: Clean, modern interface optimized for interview practice
- Speech Processing: AssemblyAI integration for advanced speech analytics
- Computer Vision: MediaPipe for real-time facial landmark detection
- Real-time Communication: WebSocket connections for live feedback
- Data Storage: MongoDB for session and analysis data
- Authentication: JWT-based secure user authentication
- Modern UI: Tailwind CSS with custom styling
- Real-time Updates: WebSocket integration for live feedback display
- Interactive Components: Dynamic progress bars and real-time metrics
- Results Visualization: Comprehensive analytics dashboard
Component | Technology | Purpose |
---|---|---|
Backend API | FastAPI + Python | High-performance async API |
Frontend | React + TypeScript | Modern, type-safe UI |
Speech AI | AssemblyAI | Advanced speech analysis |
Computer Vision | MediaPipe + OpenCV | Real-time video processing |
Database | MongoDB | Document storage |
Styling | Tailwind CSS | Utility-first CSS framework |
Real-time | WebSockets | Live communication |
Authentication | JWT + bcrypt | Secure user management |
- Python 3.11+
- Node.js 18+
- MongoDB (local or cloud instance)
- AssemblyAI API Key (Get one here)
- Webcam and Microphone for interview practice
- Words Per Minute: Optimal speaking pace tracking (target: ~150 WPM)
- Filler Word Detection: Identifies "um", "like", "you know", etc.
- Speech Intelligibility: AI-powered clarity scoring
- Confidence Scoring: Word-level confidence analysis
- Posture Monitoring: Real-time posture assessment
- Eye Contact Tracking: Measures attention and engagement
- Sentiment Analysis: Detects positive, neutral, or negative expressions
- Facial Landmark Detection: 468-point facial mesh analysis
- Overall Performance Score: Weighted combination of all metrics
- Speech Analysis: 40% intelligibility, 30% filler words, 30% pace
- Visual Analysis: Eye contact, posture, and sentiment scoring
- Key Moments: Timestamped highlights and areas for improvement
POST /auth/register - User registration
POST /auth/token - Login and token generation
GET /auth/me - Get current user info
POST /api/sessions/start - Start new interview session
POST /api/sessions/{id}/end - End session with analysis
GET /api/sessions/{id}/analysis - Get session analysis
GET /api/sessions/history - Get user's session history
WebSocket /api/ws/video - Real-time video processing
POST /analysis/speech - Speech analysis endpoint
intreview/
βββ backend/
β βββ app/
β β βββ api/routes/ # API route handlers
β β βββ services/ # Business logic
β β βββ db/models/ # Database models
β β βββ core/ # Configuration
β βββ main.py # FastAPI application
β βββ requirements.txt
βββ frontend/
β βββ src/
β β βββ components/ # Reusable components
β β βββ pages/ # Main page components
β β βββ contexts/ # React contexts
β β βββ data/ # Static data
β βββ public/ # Static assets
β βββ package.json
βββ README.md
- Live video feed with real-time feedback
- Recording controls and session management
- Progress indicators and metric displays
- Interview question rotation
- Comprehensive performance analysis
- Interactive charts and progress bars
- Video playback with timestamped moments
- Downloadable PDF reports
- Actionable improvement recommendations
speech_intelligibility = (
weighted_confidence * 0.6 + # Base confidence
filler_word_score * 0.4 # Filler penalty
)
- Excellent: β€1 filler per minute (100%)
- Good: β€2 fillers per minute (80%)
- Fair: β€4 fillers per minute (60%)
- Poor: >4 fillers per minute (exponential decay)
- Eye Contact: Based on face position relative to center
- Posture: Facial landmark positioning analysis
- Sentiment: Mouth curvature and facial expression detection
Built for FinHacks 2025 - Recognized for innovation in AI-powered interview preparation technology.
- David Yu - Full-stack development, AI integration
- Bew - Frontend development, UI/UX design