https://github.com/hari7261/ai-interview-crm
AI-Powered Interview CRM is a comprehensive platform that revolutionizes the interview preparation process. It leverages Google's Gemini AI to conduct realistic, voice-to-voice mock interviews, analyze responses, and provide detailed feedback.
https://github.com/hari7261/ai-interview-crm
ai-interview ai-powered crm crm-platform flask hari7261 interview-preparation llm mock-interview-platform python
Last synced: 3 months ago
JSON representation
AI-Powered Interview CRM is a comprehensive platform that revolutionizes the interview preparation process. It leverages Google's Gemini AI to conduct realistic, voice-to-voice mock interviews, analyze responses, and provide detailed feedback.
- Host: GitHub
- URL: https://github.com/hari7261/ai-interview-crm
- Owner: hari7261
- License: other
- Created: 2025-07-02T07:42:34.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-07-02T08:00:44.000Z (about 1 year ago)
- Last Synced: 2025-09-05T20:26:15.522Z (10 months ago)
- Topics: ai-interview, ai-powered, crm, crm-platform, flask, hari7261, interview-preparation, llm, mock-interview-platform, python
- Language: Python
- Homepage:
- Size: 254 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ฏ AI Interview CRM Platform





### ๐ **Revolutionary AI-Powered Interview Practice Platform**
*Transform your interview preparation with cutting-edge AI technology, real-time feedback, and comprehensive performance analytics.*
[๐ฏ Features](#-core-features-overview) โข [๐ Quick Start](#-quick-start-guide) โข [๐ Documentation](#-detailed-module-documentation) โข [๐ค Contributing](#-contributing)
[](https://github.com/hari7261/AI-INTERVIEW-CRM)
[](https://ai-interview-crm.vercel.app)
---
## ๐ **What Makes This Special?**
### ๐ง **AI-Powered Intelligence**
- ๐ค **Google Gemini Integration** for smart question generation
- ๐ **Real-time Performance Analysis** with detailed feedback
- ๐ฏ **Personalized Questions** based on your resume
- ๐ **Advanced Similarity Scoring** using TF-IDF algorithms
### ๐ค **Multi-Modal Experience**
- ๐ฃ๏ธ **Voice-to-Text** powered by OpenAI Whisper
- โจ๏ธ **Text Input** for flexible response options
- ๐ **PDF Resume Processing** with intelligent parsing
- ๐ฑ **Responsive Design** for all devices
---
## ๐ญ **Core Features Overview**
| ๐ **Authentication** | ๐ **Resume Processing** | ๐ค **AI Interviews** | ๐ **Analytics** |
|:---:|:---:|:---:|:---:|
| JWT-based security | PDF & text parsing | Voice/text responses | Performance tracking |
| User management | Skills extraction | Real-time feedback | Progress visualization |
| Session handling | Experience analysis | Follow-up questions | Detailed reports |
---
## ๐๏ธ **System Architecture**
```mermaid
graph TB
A[๐ Frontend Interface] --> B[๐ Flask Backend]
B --> C[๐ง AI Engine]
B --> D[๐๏ธ Database Layer]
B --> E[๐ค Voice Processor]
B --> F[๐ PDF Parser]
C --> G[๐ค Google Gemini]
C --> H[๐ Similarity Engine]
E --> I[๐ฃ๏ธ Whisper STT]
D --> J[๐ค Users]
D --> K[๐ Resumes]
D --> L[๐ฏ Interviews]
style A fill:#e1f5fe
style B fill:#f3e5f5
style C fill:#e8f5e8
style D fill:#fff3e0
```
---
## ๐ **Quick Start Guide**
### ๐ **Prerequisites**
- ๐ Python 3.8 or higher
- ๐ Google Gemini API Key
- ๐พ 50MB free disk space
### โก **Installation Steps**
```bash
# 1๏ธโฃ Clone the repository
git clone https://github.com/hari7261/AI-INTERVIEW-CRM.git
cd AI-INTERVIEW-CRM
# 2๏ธโฃ Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# 3๏ธโฃ Install dependencies
pip install -r requirements.txt
# 4๏ธโฃ Set up environment variables
cp .env.example .env
# Edit .env with your API keys
# 5๏ธโฃ Initialize database
python -c "from models.db import init_db; from app import create_app; init_db(create_app())"
# 6๏ธโฃ Start the application
python app.py
```
### ๐ **Access the Platform**
Open your browser and navigate to: **http://localhost:5000** ๐
---
## ๐ฏ **Detailed Module Documentation**
### ๐ **1. Authentication System** (`routes/auth.py`)
Click to expand Authentication details
#### ๐ก๏ธ **Security Features**
- **JWT Token-based Authentication**: Secure session management
- **Password Hashing**: Using Werkzeug's security utilities
- **Email Validation**: Proper email format checking
- **Session Expiry**: Automatic token expiration
#### ๐ง **API Endpoints**
- `POST /api/auth/register` - User registration
- `POST /api/auth/login` - User authentication
- `GET /api/auth/profile` - Get user profile
- `POST /api/auth/logout` - Secure logout
#### ๐ก **Usage Example**
```javascript
// Register new user
const registerUser = async (userData) => {
const response = await fetch('/api/auth/register', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(userData)
});
return response.json();
};
```
### ๐ **2. Resume Processing Engine** (`services/pdf_parser.py`)
Click to expand Resume Processing details
#### ๐ฏ **Intelligent Resume Analysis**
- **PDF Text Extraction**: Using PyPDF2 for accurate text parsing
- **Skills Identification**: AI-powered skill detection
- **Experience Parsing**: Automatic work history extraction
- **Education Analysis**: Academic background processing
#### ๐ง **Supported Formats**
- ๐ PDF files (primary)
- ๐ Plain text input
- ๐ Multiple resume versions
#### ๐ก **AI Processing Pipeline**
1. **Text Extraction** โ Raw text from PDF/input
2. **Content Analysis** โ Google Gemini processes content
3. **Structured Parsing** โ JSON format with categorized data
4. **Validation** โ Ensures data quality and completeness
#### ๐ **Extracted Data Structure**
```json
{
"name": "John Doe",
"email": "john@example.com",
"skills": ["Python", "React", "SQL"],
"experience": [
{
"company": "Tech Corp",
"position": "Software Engineer",
"duration": "2020-2023"
}
],
"education": [...],
"projects": [...]
}
```
### ๐ง **3. AI Interview Engine** (`services/ai_engine.py`)
Click to expand AI Engine details
#### ๐ฏ **Core AI Capabilities**
##### ๐ค **Question Generation**
- **Resume-Based Questions**: Tailored to candidate's background
- **Category Distribution**: Technical, behavioral, situational
- **Difficulty Scaling**: Adaptive question complexity
- **Follow-up Intelligence**: Context-aware follow-up questions
##### ๐ **Answer Evaluation System**
```python
evaluation_criteria = {
"technical_accuracy": "Technical knowledge demonstration",
"communication_clarity": "Clear and articulate responses",
"problem_solving": "Analytical thinking and approach",
"experience_relevance": "Real-world application examples"
}
```
##### ๐ฏ **Scoring Algorithm**
1. **AI Analysis** (60%): Google Gemini evaluates content quality
2. **Similarity Matching** (40%): TF-IDF compares with ideal answers
3. **Final Score**: Weighted combination with detailed breakdown
#### ๐ง **Performance Optimization**
- **Lightweight Processing**: TF-IDF instead of heavy transformers
- **Caching Strategy**: Reduces API calls for similar questions
- **Error Handling**: Graceful fallbacks for AI service issues
- **Response Time**: Average 2-3 seconds per evaluation
### ๐ค **4. Voice Processing System** (`services/voice_processor.py`)
Click to expand Voice Processing details
#### ๐ฃ๏ธ **Speech-to-Text Pipeline**
- **Audio Capture**: Browser MediaRecorder API
- **Format Support**: WAV, MP3, M4A, OGG
- **Whisper Integration**: OpenAI's state-of-the-art STT
- **Quality Enhancement**: Noise reduction and normalization
#### ๐ง **Technical Implementation**
```python
class VoiceProcessor:
def __init__(self):
self.whisper_model = whisper.load_model("base")
def speech_to_text(self, audio_path):
# Advanced audio processing
result = self.whisper_model.transcribe(audio_path)
return result["text"]
```
#### ๐ฑ **Frontend Integration**
```javascript
// Voice recording functionality
const recordVoice = async () => {
const stream = await navigator.mediaDevices.getUserMedia({ audio: true });
const recorder = new MediaRecorder(stream);
// Recording logic...
};
```
#### ๐ ๏ธ **Error Handling**
- **Microphone Permissions**: Graceful permission handling
- **Audio Quality**: Automatic quality detection
- **Fallback Options**: Text input when voice fails
- **Browser Compatibility**: Cross-browser support
### ๐ **5. Analytics & Reporting** (`services/analytics.py`)
Click to expand Analytics details
#### ๐ **Performance Metrics**
- **Overall Score**: Comprehensive performance rating
- **Skill Breakdown**: Individual skill assessments
- **Progress Tracking**: Improvement over time
- **Comparative Analysis**: Benchmarking against standards
#### ๐ **PDF Report Generation**
```python
def generate_comprehensive_report(self, data):
pdf = FPDF()
pdf.add_page()
# Header with branding
self._add_header(pdf, data)
# Performance summary with charts
self._add_performance_summary(pdf, data)
# Detailed question analysis
self._add_question_breakdown(pdf, data)
# Recommendations and next steps
self._add_recommendations(pdf, data)
return pdf.output(dest='S').encode('latin-1')
```
#### ๐ฏ **Report Components**
1. **Executive Summary**: High-level performance overview
2. **Skills Analysis**: Detailed breakdown by competency
3. **Question-by-Question**: Individual answer evaluations
4. **Improvement Roadmap**: Personalized recommendations
5. **Progress Visualization**: Charts and graphs
### ๐๏ธ **6. Database Architecture** (`models/`)
Click to expand Database details
#### ๐ **Database Schema**
##### ๐ค **Users Table**
```sql
CREATE TABLE users (
id INTEGER PRIMARY KEY,
email VARCHAR(120) UNIQUE NOT NULL,
full_name VARCHAR(100),
password_hash VARCHAR(255),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
```
##### ๐ **Resumes Table**
```sql
CREATE TABLE resumes (
id INTEGER PRIMARY KEY,
user_id INTEGER FOREIGN KEY,
text_content TEXT,
file_path VARCHAR(255),
parsed_data JSON,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
```
##### ๐ฏ **Interviews Table**
```sql
CREATE TABLE interviews (
id INTEGER PRIMARY KEY,
user_id INTEGER FOREIGN KEY,
start_time DATETIME,
end_time DATETIME,
transcript TEXT,
evaluation JSON,
report_path VARCHAR(255),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
```
#### ๐ง **ORM Models**
- **SQLAlchemy Integration**: Object-relational mapping
- **Relationship Management**: Foreign key constraints
- **JSON Field Support**: Flexible data storage
- **Migration Support**: Database version control
---
## ๐ฎ **User Journey & Workflow**
### ๐ **Step-by-Step User Experience**
```mermaid
journey
title AI Interview CRM User Journey
section Getting Started
Sign Up : 5: User
Login : 5: User
Upload Resume : 4: User
section Interview Preparation
Generate Questions: 5: AI
Review Profile : 4: User
Start Interview : 5: User
section Interview Process
Answer Questions : 4: User
Get Real-time Feedback: 5: AI
Complete Interview: 4: User
section Results & Improvement
View Report : 5: User
Download PDF : 4: User
Track Progress : 5: User
```
### ๐ฑ **User Interface Walkthrough**
#### ๐ **Landing Page** (`templates/index.html`)
- **Hero Section**: Compelling value proposition
- **Feature Highlights**: Key platform benefits
- **Call-to-Action**: Quick registration process
- **Social Proof**: Success stories and testimonials
#### ๐ฏ **Dashboard** (`templates/dashboard.html`)
- **Performance Overview**: Quick stats and metrics
- **Recent Activity**: Latest interviews and scores
- **Progress Tracking**: Visual improvement charts
- **Quick Actions**: Start new interview, view reports
#### ๐ค **Interview Interface** (`templates/interview.html`)
- **Question Display**: Clear, readable question presentation
- **Response Options**: Voice recording or text input
- **Progress Indicator**: Current question position
- **Real-time Feedback**: Instant scoring and suggestions
#### ๐ **Report Viewer** (`templates/report.html`)
- **Executive Summary**: High-level performance overview
- **Detailed Analysis**: Question-by-question breakdown
- **Visual Charts**: Performance graphs and comparisons
- **Action Items**: Personalized improvement recommendations
---
## ๏ฟฝ๐ ๏ธ **Development & Testing**
### ๐งช **Testing Framework**
#### ๐ฌ **Comprehensive Test Suite** (`test_platform.py`)
```bash
# Run all tests
python test_platform.py
# Run specific test categories
python -m pytest tests/ -k "authentication"
python -m pytest tests/ -k "interview_flow"
python -m pytest tests/ -k "ai_engine"
```
#### ๐ **Test Coverage**
- โ
**Authentication**: Registration, login, JWT validation
- โ
**Resume Processing**: PDF parsing, AI analysis
- โ
**Interview Flow**: Question generation, answer evaluation
- โ
**Voice Processing**: STT, audio handling
- โ
**Report Generation**: PDF creation, analytics
- โ
**Database Operations**: CRUD operations, relationships
- โ
**API Endpoints**: All REST endpoints
- โ
**Error Handling**: Edge cases, failure scenarios
### ๐จ **Frontend Customization**
#### ๐จ **Styling** (`static/css/styles.css`)
- **CSS Variables**: Easy theme customization
- **Responsive Design**: Mobile-first approach
- **Animation Library**: Smooth transitions and effects
- **Component System**: Reusable UI components
#### โก **JavaScript** (`static/js/main.js`)
- **Modern ES6+**: Clean, maintainable code
- **API Integration**: Fetch-based HTTP client
- **Voice Recording**: MediaRecorder API integration
- **Real-time Updates**: WebSocket support ready
### ๐ง **Configuration Options**
#### โ๏ธ **Environment Variables** (`.env`)
```bash
# ๐ค AI Configuration
GOOGLE_API_KEY=your_gemini_api_key_here
AI_MODEL=gemini-1.5-flash
# ๐๏ธ Database Configuration
DATABASE_URL=sqlite:///interview.db
SQLALCHEMY_TRACK_MODIFICATIONS=False
# ๐ Security Configuration
SECRET_KEY=your_super_secret_key_here
JWT_SECRET_KEY=your_jwt_secret_key_here
JWT_EXPIRATION_HOURS=24
# ๐ File Upload Configuration
UPLOAD_FOLDER=static/uploads
MAX_CONTENT_LENGTH=16777216 # 16MB
# ๐ค Voice Processing Configuration
WHISPER_MODEL=base
SUPPORTED_AUDIO_FORMATS=wav,mp3,m4a,ogg
# ๐ Analytics Configuration
ENABLE_ANALYTICS=True
REPORT_GENERATION=True
```
---
## ๐ **Deployment Guide**
### ๐ **Production Deployment**
#### ๐ณ **Docker Deployment**
```dockerfile
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "app:app"]
```
#### โ๏ธ **Cloud Platforms**
- **๐ง Heroku**: One-click deployment
- **โ๏ธ AWS**: EC2, ECS, or Lambda
- **๐ Google Cloud**: App Engine or Cloud Run
- **๐ Azure**: App Service or Container Instances
#### ๐๏ธ **Database Options**
- **Development**: SQLite (included)
- **Production**: PostgreSQL, MySQL, or MongoDB
- **Cloud**: AWS RDS, Google Cloud SQL, Azure Database
### ๐ **Security Considerations**
#### ๐ก๏ธ **Production Security**
- **HTTPS**: SSL/TLS encryption
- **Environment Variables**: Secure secret management
- **Rate Limiting**: API endpoint protection
- **Input Validation**: XSS and injection prevention
- **CORS Configuration**: Cross-origin request handling
---
## ๐ **Performance Optimization**
### โก **Speed Optimizations**
- **Lightweight AI**: TF-IDF instead of heavy transformers (90% size reduction)
- **Efficient Caching**: Redis integration ready
- **Database Indexing**: Optimized queries
- **CDN Integration**: Static asset delivery
- **Lazy Loading**: On-demand resource loading
### ๐ **Monitoring & Analytics**
- **Performance Metrics**: Response time tracking
- **Error Monitoring**: Automated error reporting
- **Usage Analytics**: User behavior insights
- **Health Checks**: System status monitoring
---
## ๐ค **Contributing**
### ๐ฏ **How to Contribute**
1. **๐ด Fork the Repository**
```bash
git clone https://github.com/hari7261/AI-INTERVIEW-CRM.git
```
2. **๐ฟ Create Feature Branch**
```bash
git checkout -b feature/amazing-feature
```
3. **๐ก Make Your Changes**
- Follow code style guidelines
- Add tests for new features
- Update documentation
4. **โ
Test Your Changes**
```bash
python test_platform.py
```
5. **๐ค Submit Pull Request**
- Clear description of changes
- Reference related issues
- Include screenshots if UI changes
### ๐ **Development Guidelines**
- **Code Style**: PEP 8 for Python, ESLint for JavaScript
- **Documentation**: Docstrings for all functions
- **Testing**: Minimum 80% code coverage
- **Version Control**: Semantic versioning (semver)
### ๐ **Bug Reports**
Use GitHub Issues with the following template:
- **Bug Description**: Clear, concise description
- **Steps to Reproduce**: Detailed reproduction steps
- **Expected Behavior**: What should happen
- **Screenshots**: Visual evidence if applicable
- **Environment**: OS, Python version, browser
---
## ๐ **License**
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
### ๐ **What This Means**
- โ
**Commercial Use**: Use in commercial projects
- โ
**Modification**: Modify and adapt the code
- โ
**Distribution**: Share with others
- โ
**Private Use**: Use for personal projects
- โ **Liability**: No warranty or liability
- โ **Patent Grant**: No patent rights granted
---
## ๐ **Acknowledgments**
### ๐ **Special Thanks**
- **Google Gemini**: For powerful AI capabilities
- **OpenAI Whisper**: For excellent speech-to-text
- **Flask Community**: For the amazing web framework
- **Open Source Contributors**: For inspiration and tools
### ๐ **Useful Resources**
- [Flask Documentation](https://flask.palletsprojects.com/)
- [Google Gemini API](https://ai.google.dev/)
- [OpenAI Whisper](https://github.com/openai/whisper)
- [SQLAlchemy ORM](https://www.sqlalchemy.org/)
---
## ๐จโ๐ป **Meet the Creator**
### ๐ **Hari Kumar** - *Full Stack Developer & AI Enthusiast*

**๐ Passionate about building innovative solutions that make a difference**
#### ๐ฏ **About Me**
- ๐ป **Full Stack Developer** with expertise in Python, JavaScript, and AI
- ๐ค **AI/ML Enthusiast** specializing in NLP and conversational AI
- ๐ **Computer Science Student** with a passion for cutting-edge technology
- ๐ **Open Source Contributor** committed to building tools that help others succeed
#### ๐ ๏ธ **Tech Stack**
- **Languages**: Python, JavaScript, TypeScript, Java, C++
- **Frameworks**: Flask, React, Node.js, Express, Django
- **AI/ML**: TensorFlow, PyTorch, OpenAI, Google Gemini, Hugging Face
- **Databases**: PostgreSQL, MongoDB, SQLite, Redis
- **Cloud**: AWS, Google Cloud, Azure, Vercel, Heroku
### ๐ก **Why I Built AI Interview CRM**
> *"Having gone through countless interviews myself and seeing friends struggle with interview preparation, I realized there was a gap in accessible, AI-powered practice platforms. This project combines my passion for AI with my desire to help fellow developers and job seekers succeed in their careers."*
#### ๐ฏ **Project Vision**
- **๐ค Democratize AI**: Make advanced AI interview practice accessible to everyone
- **๐ Skill Enhancement**: Help candidates identify and improve their weak areas
- **๐ Global Impact**: Support job seekers worldwide in achieving their career goals
- **๐ Continuous Learning**: Provide personalized feedback for ongoing improvement
### ๐จ **Development Philosophy**
| ๐ฏ **User-Centric** | ๐ง **Clean Code** | ๐ **Performance** | ๐ **Innovation** |
|:---:|:---:|:---:|:---:|
| Always put user needs first | Write maintainable, readable code | Optimize for speed and efficiency | Embrace cutting-edge technology |
| Gather feedback continuously | Follow best practices | Test performance rigorously | Experiment with new ideas |
| Design intuitive interfaces | Document thoroughly | Scale intelligently | Stay ahead of trends |
### ๐ **Project Impact**
[](https://github.com/hari7261)
[](https://github.com/hari7261/AI-INTERVIEW-CRM)
[](https://twitter.com/hari7261)
**๐ฏ Helping developers and job seekers worldwide achieve their career dreams!**
### ๐ฌ **Get in Touch**
I'm always excited to connect with fellow developers, discuss new ideas, or help with any questions you might have about the project!
**๐ค Let's build something amazing together!**
---
## ๐ฏ **Ready to Revolutionize Interview Preparation?**
### ๐ [Get Started Now](https://github.com/hari7261/AI-INTERVIEW-CRM) โข โญ [Star on GitHub](https://github.com/hari7261/AI-INTERVIEW-CRM) โข ๐ [Report Issues](https://github.com/hari7261/AI-INTERVIEW-CRM/issues)
**Made with โค๏ธ by [Hari](https://github.com/hari7261), for developers worldwide**
[](https://github.com/hari7261/AI-INTERVIEW-CRM)
[](https://github.com/hari7261/AI-INTERVIEW-CRM)
[](https://github.com/hari7261/AI-INTERVIEW-CRM/issues)
[](https://github.com/hari7261/AI-INTERVIEW-CRM/pulls)
---
*๐ Thank you for choosing AI Interview CRM! Together, let's help candidates ace their interviews and build their dream careers! ๐*