An AI-powered resume screening platform that automates the first stage of recruitment — extracting, evaluating, and ranking candidate CVs with speed and precision.
Designed for HR teams to handle high-volume hiring efficiently, consistently, and at scale.
The CV Screening and Candidate Filtering System enables recruiters to:
- 📄 Upload job descriptions and batches of candidate CVs (PDF).
- 🧠 Automatically extract key candidate information (skills, contact details, etc.).
- ⚖️ Compare candidate profiles against role requirements using a deterministic scoring model.
- 🟢🔸🔴 Generate a quantitative match score and preliminary Accept / Review / Reject decision.
This removes repetitive manual screening and ensures standardized, fair, and explainable candidate evaluations.
-
🚀 Automate resume screening
Parse and structure diverse CV formats to reduce manual work. -
⚖️ Standardize candidate evaluation
Use a transparent scoring model for fairness and consistency. -
📈 Scale with volume
Handle 50+ CVs in a single batch reliably. -
🧭 Support HR decision-making
Provide clear breakdowns of matched vs. missing skills.
- Create new job roles by providing a title and full job description.
- System auto-extracts Mandatory and Preferred skills.
- View or delete active jobs and their candidate records.
- Upload multiple CVs (PDF) for a selected job.
- Instant processing and extraction.
- Extracts:
- ✅ Full Name
- 📧 Email Address
- 📞 Phone Number
- 🌐 Professional Links (LinkedIn, GitHub, Portfolio)
- 🛠 Extracted Skills
- Uses PDF.js, RegEx, and NLP heuristics.
- Custom scoring methodology compares candidate skills with job requirements using weighted metrics.
- Generates a match score and preliminary decision.
- Real-time updates when new CVs are added.
- Filter and view candidates by job, score, and status with clear visualization.
| Component | Technology | Rationale |
|---|---|---|
| 🖼 Frontend | HTML5, Tailwind CSS, TypeScript (ES6+) | Lightweight, responsive UI |
| 📄 Data Extraction | PDF.js, RegEx, heuristic parsing | Fast, client-side OCR/NLP simulation |
| 🗃 Database | SQL (SQLite / PostgreSQL) | Structured storage for analytics |
| 🔐 Authentication | Supbase (Custom/Anonymous) | Secure, user-scoped access |
The following Entity–Relationship Diagram (ERD) illustrates the structure and relationships between core tables in the CV Screening & Candidate Filtering System.
Stores job criteria and definitions.
| Field | Type | Description |
|---|---|---|
| job_id (PK) | INTEGER | Unique Job ID |
| user_id | TEXT | Owner/HR identifier |
| title | TEXT | Job Title |
| mandatory_skills | JSON | Required skills list |
| preferred_skills | JSON | Nice-to-have skills list |
| created_at | TIMESTAMP | Creation time |
Stores candidate data and evaluation results.
| Field | Type | Description |
|---|---|---|
| candidate_id (PK) | INTEGER | Unique Candidate ID |
| job_id (FK) | INTEGER | Associated Job ID |
| name | TEXT | Candidate Name |
| TEXT | Contact Email | |
| phone | TEXT | Contact Number |
| extracted_skills | JSON | Parsed skills |
| match_score | REAL | Computed score (0-100) |
| decision | TEXT | Accept / Review / Reject |
| submitted_at | TIMESTAMP | CV submission time |
| Test Area | Criteria for Success | Purpose |
|---|---|---|
| 📑 Extraction | ≥ 95% accuracy for name, email, phone, links | Robust RegEx/NLP |
| 🧮 Scoring Accuracy | 100% match to weighted criteria | Verify business logic |
| ✅ Decision Logic | Perfect threshold adherence | HR requirements |
| ⚡ System Stability | Batch of 50+ CVs processed without failure | Scalability & error handling |
- 🧩 Modular Design — OCR, Scoring Engine, and Database are loosely coupled for easy maintenance.
- 📊 Scalable & Stable — Handles high loads without downtime.
- 🌐 Responsive UI — Simple, modern single-file web app.
- 🧠 Transparent Evaluation — Explainable scoring for better HR trust.
- 🤖 Integrate actual NLP models for semantic skill matching.
- 📨 Email notifications to candidates.
- 📊 Dashboard analytics for HR insights.
- ☁️ Cloud deployment & CI/CD pipeline.
# 1️⃣ Clone the repo
git clone https://github.com/yourusername/cv-screening-system.git
# 2️⃣ Install dependencies (if any)
cd cv-screening-system
# e.g., npm install
# 3️⃣ Run locally
# Open index.html in your browser or use a local dev server
