AI-Powered Recruitment/Interview Platform
Project Purpose & Overview
What is it?
A modular, AI-powered recruitment/interview platform. The backend is built with FastAPI (Python), and the frontend uses Next.js (React/TypeScript). The system leverages advanced AI (OpenAI models, Whisper, TTS) to automate and enhance candidate interviews and assessments.
Who is it for?
Companies and recruiters seeking to streamline, automate, and improve the candidate interview process.
What problem does it solve?
It automates candidate interviews, provides AI-driven insights, and manages audio (speech-to-text, text-to-speech) interactions, saving time and improving the quality of hiring decisions.
What makes it unique?
- Deep AI integration (OpenAI, Whisper, TTS)
- Modular, microservice-ready backend
- Real-time audio processing and analytics
- Modern, responsive frontend
General Overview
Key Features: - Automated candidate interviews (audio/text) - AI-powered insights and analytics - Speech-to-text (STT) and text-to-speech (TTS) services - Usage tracking and reporting - Admin and user portals
Use Cases: - Screening candidates at scale - Generating interview transcripts and summaries - Providing instant feedback and analytics to recruiters
Tech Stack
Frontend:
Next.js 14, NextUI, Tailwind CSS, TypeScript, Framer Motion
Backend:
FastAPI (Python), Uvicorn, Poetry, Prisma ORM
Database:
MongoDB (via Prisma)
Infrastructure/DevOps:
Poetry for Python dependency management, environment variables for config, S3 for storage
AI/ML:
OpenAI (GPT-4, GPT-3.5, etc.), Whisper (speech-to-text), TTS (text-to-speech), integrated via API keys
How AI Powers the System
Role of AI:
- Converts candidate speech to text (Whisper)
- Generates interview questions, summaries, and insights (GPT-4, GPT-3.5)
- Converts text prompts to audio (TTS)
- Tracks and analyzes usage for reporting
Models Used:
- OpenAI GPT-4, GPT-3.5 (NLP, summarization, question generation)
- Whisper (speech-to-text)
- TTS (text-to-speech, likely via OpenAI or another provider)
Integration:
- API-based (OpenAI keys in config)
- Modular routers for STT, TTS, and interview insights
AI Tasks:
- Natural language understanding and generation
- Audio transcription and synthesis
- Analytics and reporting
Challenges & Solutions:
- Challenge: Real-time audio processing
Solution: FastAPI async endpoints, efficient use of OpenAI/Whisper APIs
- Challenge: Usage tracking
Solution: Dedicated Usage
model in MongoDB, Prisma ORM
Technical Breakdown
Database:
- MongoDB, managed via Prisma ORM
- Key model: Usage
(tracks app, API, service, type, usage metrics, timestamps)
Backend Architecture:
- FastAPI app with modular routers for STT, TTS, and interview insights
- Middleware for CORS and usage tracking
- Prisma for async DB operations
- S3 integration for audio storage
Frontend:
- Next.js app with modular components for user/admin portals
- API integration for backend endpoints
- Real-time updates and analytics
Key API Routes/Services:
- /stt
(speech-to-text)
- /tts
(text-to-speech)
- /interview-insights
(AI-powered analytics)
- Usage and admin endpoints
User Journey Walkthrough
- User visits the portal (Next.js frontend)
- User starts an interview (audio or text)
- Frontend records/interacts with user (audio capture, UI prompts)
- Frontend sends audio/text to backend (
/stt
or/interview-insights
) - Backend processes request:
- If audio:
- Converts speech to text (Whisper)
- Stores audio in S3
- If text:
- Sends to OpenAI for question generation/insights
- AI generates response/insights
- Backend returns results to frontend
- Frontend displays results, analytics, or next steps
- Usage is tracked in the database
Text-Based Flowchart / Architecture
User ↓ Frontend (Next.js) ↓ [User Action: Start Interview / Submit Audio/Text] ↓ API Call → Backend (FastAPI) ↓ [Route: /stt, /tts, /interview-insights] ↓ Middleware (CORS, Usage Tracking) ↓ Business Logic ↓ ├─ If Audio: Whisper STT → S3 Storage ├─ If Text: OpenAI GPT (NLP, Summarization, Q&A) └─ TTS: Text-to-Speech Service ↓ Database (MongoDB via Prisma) ←→ Usage Logging ↓ Response to Frontend ↓ User Sees Results, Analytics, Next Steps
Conclusion
This project demonstrates a robust, modern approach to automating and enhancing the recruitment process with AI. By combining FastAPI, Next.js, and advanced AI models (OpenAI, Whisper, TTS), the team delivered a scalable, modular platform that streamlines candidate interviews and provides actionable insights for recruiters.
Key strengths: - Deep AI integration for real-time audio and text analysis - Clean, modular codebase for rapid iteration and scaling - Modern, user-friendly frontend
Future opportunities: - Expand AI capabilities (custom models, more analytics) - Integrate with more HR tools and platforms - Enhance real-time feedback and reporting