- Resume Parsing: Extract text from PDF, DOCX, and TXT files
- ATS Scoring: Intelligent scoring based on keyword matching, skills, experience, and education
- Job Matching: Find candidates matching specific job requirements
- Analytics Dashboard: View recruitment statistics and score distributions
- Database Management: Store and manage candidate data
- Install Python dependencies:
pip install -r requirements.txt- Download spaCy model:
pip -m spacy download en_core_web_smRun the application:
streamlit run app.py-
Resume Parser (
resume_parser.py)- Extracts text from various file formats
- Identifies name, email, phone, skills, experience, and education
-
ATS Scorer (
ats_scorer.py)- Calculates comprehensive ATS scores
- Uses TF-IDF and cosine similarity for keyword matching
- Evaluates skills, experience, and education relevance
-
Database (
database.py)- SQLite database for storing resume data
- Analytics and reporting functions
-
Main Application (
app.py)- Streamlit web interface
- Multi-page navigation
- Interactive dashboards
The ATS score is calculated using weighted components:
- Keyword Matching (40%): TF-IDF cosine similarity
- Skills Matching (30%): Direct skill keyword matching
- Experience Relevance (20%): Years of experience evaluation
- Education Relevance (10%): Educational background matching
- Upload Resume: Upload and analyze individual resumes
- Job Matching: Find candidates matching job descriptions
- Analytics: View recruitment statistics and trends
- Database: Manage stored resume data