An end-to-end, production-ready AI Interviewer Platform that automates the technical and behavioral interview process. The platform features a real-time AI interviewer capable of speech interaction, vision-based behavior analysis, and dynamic question generation.
- Real-time AI Interviewer: Voice-enabled interaction using local Whisper (STT) and Edge-TTS.
- Dynamic Questioning: Adaptive difficulty scaling based on candidate performance.
- Vision Analysis: Behavioral tracking (eye contact, head movement) using MediaPipe.
- Resume-Driven Interviews: Personalized interview focus based on uploaded resumes.
- Comprehensive Reports: Detailed feedback with performance metrics and video recording.
- Admin Dashboard: Manage interviews, candidates, and review performance reports.
- Fully Local AI Option: Support for local LLM inference via Ollama (Llama 3.1).
The platform consists of three main services:
- Frontend (Client): A Next.js 16 application for students and admins.
- Backend (Server): An Express 5 API server handling business logic, authentication, and data orchestration.
- AI Service: A Python FastAPI service managing LLM reasoning, STT, TTS, and vision analysis.
- Framework: Next.js 16 (App Router)
- Styling: Tailwind CSS 4
- Components: Radix UI, Lucide React, Framer Motion
- Editor: Monaco Editor (for technical coding rounds)
- State/Data: Axios, Zod, React Hook Form
- Language: TypeScript
- Framework: Express 5
- Database: MongoDB (via Mongoose)
- Real-time: Socket.io
- Payments: Stripe Integration
- Mailing: Nodemailer
- Framework: FastAPI
- LLM Engine: Ollama (Local Llama 3.1:8b)
- Speech-to-Text: OpenAI Whisper (Local)
- Text-to-Speech: Edge-TTS / gTTS
- Vision: MediaPipe (Head pose & eye tracking)
- Data Processing: NumPy, Librosa, OpenCV
- Node.js: v18+
- Python: v3.10+
- MongoDB: v6+ (or use Docker)
- Ollama: Installed and running (for local LLM)
- Navigate to
ai-service:cd ai-service - Create and activate a virtual environment:
python -m venv venv .\venv\Scripts\activate # Windows source venv/bin/activate # Linux/macOS
- Install dependencies:
pip install -r requirements.txt
- Download the LLM model:
ollama pull llama3.1:8b
- Start the service:
The service runs at
python -m app.main
http://localhost:8000
- Navigate to
server:cd server - Install dependencies:
npm install
- Configure environment variables (copy
.env.exampleif available or create.env):PORT=5001MONGO_URI: Your MongoDB connection stringJWT_SECRET: A secure random string
- Start development server:
npm run dev
- Navigate to
client:cd client - Install dependencies:
npm install
- Start development server:
Client will be available at
npm run dev
http://localhost:3000
To quickly start a MongoDB instance:
docker-compose up -dThis project is licensed under the ISC License.