AI Resume Screening Platform · v1.0
Production-ready AI-powered recruitment SaaS platform with multi-tenant architecture, bias detection, resume parsing, and candidate matching. Built with Django 5.2+, 15,000+ lines of code.
The live demo at ai.djangozen.com/resume-screening/ runs in Demo Mode without API keys configured. In demo mode, candidate-job matching uses the built-in keyword-based engine rather than GPT-4. Match results in the demo display a notice indicating demo mode is active.
After purchasing the full version:
Where to get your API key:
- OpenAI: platform.openai.com - Create an account and generate an API key under API Keys
# Clone and setup
git clone <your-repo>
cd ai-resume-screening-platform
python -m venv venv
source venv/bin/activate # Linux/Mac
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Run migrations
python manage.py migrate
# Create demo data (optional)
python create_demo_data.py
# Start development server
python manage.py runserver
docker-compose up -d
Upload resumes in PDF, DOCX, DOC, TXT, or RTF format. The AI engine automatically extracts:
- Skills and competencies
- Work experience and duration
- Education and certifications
- Contact information
Batch Upload: Upload up to 50 resumes at once with drag-and-drop support.
Two matching modes available:
- Keyword Matching (<1ms): Fast pattern-based matching using extracted skills
- OpenAI Matching (~500ms): Deep semantic matching using GPT-4o-mini
Configure matching in Organization Settings > Scoring Settings.
Candidates are automatically scored and ranked by job fit. View:
- Overall match score (0-100%)
- Skill breakdown with individual scores
- Experience relevance rating
- Side-by-side comparison (up to 5 candidates)
Built-in bias detection for:
- Age bias: Detects age-related language in job descriptions
- Gender bias: Identifies gendered terms and suggests neutral alternatives
- Language bias: Flags cultural or language-specific requirements
Anonymous Screening: Remove identifying information (name, photo, age) for unbiased evaluation.
Fairness Reporting: Generate compliance reports tracking hiring metrics by demographics.
Complete data isolation per organization:
- Each organization has its own jobs, candidates, and settings
- Role-based access: Admin, Recruiter, Hiring Manager, Viewer
- Team management with email invitations
Stripe integration with tiered plans:
- Configure plans in Django Admin > Payments
- Webhook handling for subscription events
- Usage-based billing support
Full REST API with JWT authentication:
POST /api/v1/auth/token/ # Get JWT token
GET /api/v1/jobs/ # List jobs
POST /api/v1/jobs/ # Create job
GET /api/v1/candidates/ # List candidates
POST /api/v1/resumes/upload/ # Upload resume
GET /api/v1/matching/results/ # Get matching results
GET /api/v1/analytics/dashboard/ # Dashboard stats
| Variable | Description | Default |
|---|---|---|
| SECRET_KEY | Django secret key | auto-generated |
| DEBUG | Debug mode | True |
| DATABASE_URL | PostgreSQL URL | sqlite:///db.sqlite3 |
| REDIS_URL | Redis URL | redis://localhost:6379 |
| OPENAI_API_KEY | OpenAI API key | (optional) |
| STRIPE_SECRET_KEY | Stripe secret key | (optional) |
| AWS_ACCESS_KEY_ID | S3 storage key | (optional) |
# Start Celery worker
celery -A config worker -l info
# Start Celery Beat (scheduled tasks)
celery -A config beat -l info
Visit ai.djangozen.com/resume-screening/ to see screenshots and feature overview.
Product: AI Resume Screening Platform
Type: AI Application
Version: 1.0
Updated: Mar 11, 2026