Spaces:
Sleeping
Sleeping
metadata
title: Intelliverse
emoji: π
colorFrom: green
colorTo: blue
sdk: docker
pinned: false
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
π― Intelliverse β AI-Powered Recruitment Automation
Hackathon Project β Automated Resume Screening, Scoring & Interview Scheduling
π What It Does
- Upload bulk PDF resumes
- AI Scores each candidate 0-100 against your Job Description (using Google Gemini)
- Auto-Shortlist candidates above your threshold
- Sends Emails β interview invites to shortlisted, rejection emails to others β all automated
π οΈ Tech Stack
| Layer | Tech |
|---|---|
| Backend | Flask + SQLAlchemy (SQLite) |
| AI Engine | Google Gemini 1.5 Flash/Pro |
| PDF Parsing | PyMuPDF (fitz) |
| Python SMTP (Gmail) | |
| Frontend | Tailwind CSS + Chart.js |
β‘ Quick Start
1. Clone & Install
git clone <your-repo>
cd talentiq-ats
pip install -r requirements.txt
2. Configure Environment
cp .env.example .env
# Edit .env with your Gemini API key and Gmail credentials
3. Run
python app.py
# Open http://localhost:5000
π Project Structure
talentiq-ats/
βββ app.py # Flask routes & main logic
βββ utils/
β βββ ai_analyzer.py # Gemini AI resume analysis
β βββ resume_parser.py # PDF text extraction (PyMuPDF)
β βββ scheduler.py # Email sending (SMTP)
β βββ database.py # SQLAlchemy models
βββ templates/
β βββ base.html # Layout with navbar
β βββ index.html # Landing page
β βββ upload.html # Resume upload & screening
β βββ dashboard.html # Analytics dashboard
β βββ candidate_detail.html # Individual candidate view
βββ requirements.txt
βββ .env.example
π Environment Variables
| Variable | Purpose |
|---|---|
GEMINI_API_KEY |
Google Gemini AI key |
SECRET_KEY |
Flask session secret |
SMTP_USER |
Gmail address for sending emails |
SMTP_PASS |
Gmail App Password (not account password) |
π Features Overview
- Bulk PDF upload with drag-and-drop
- Configurable score threshold (slider UI)
- Interview scheduler β set date, time, meeting link
- Auto email β HTML-formatted invite & rejection emails
- Dashboard with Doughnut & Bar charts
- Candidate profiles with skill match/gap analysis
- Re-schedule interviews from candidate detail page
- SQLite database β full audit trail
π§ AI Prompt Output (JSON)
{
"name": "Priya Sharma",
"email": "priya@example.com",
"score": 84,
"reasoning": "Strong Python and ML background. Matches 7/9 required skills.",
"matching_skills": ["Python", "TensorFlow", "REST APIs"],
"missing_skills": ["Kubernetes", "AWS"],
"verdict": "Interview"
}