Streamline your hiring process with automated resume screening and interview scheduling
Transform your recruitment workflow from hours to minutes:
graph LR A[PDF Upload] --> B[PyPDF2 Parser] B --> C[Text Extraction] C --> D[Skill Matching Engine] D --> E{Meets Requirements?} E -->|Yes| F[Jitsi Link Generator] E -->|No| G[Skill Gap Report] F --> H[SMTP Email Service] H --> I[Interview Scheduled ā ] G --> J[Rejection with Feedback ā]
1. Resume Parser (resume_parser.py)
# Extracts text from PDF and normalizes for matching def extract_text_from_pdf(pdf_file): return PyPDF2.PdfReader(pdf_file).extract_text().lower()
2. Skill Matching Engine (config.py)
# Predefined job requirements with mandatory vs optional skills JOB_ROLES = { "Data Scientist": { "mandatory_skills": ["python", "machine learning", "statistics"], "preferred_skills": ["sql", "tensorflow", "aws"] } }
3. Interview Scheduler (jitsi_scheduler.py)
# Generates unique meeting rooms and schedules 24h ahead def create_jitsi_meeting(): room_id = generate_unique_id() return f"https://meet.jit.si/{room_id}"
4. Email Service (email_sender.py)
# SMTP integration with Gmail App Passwords def send_interview_email(candidate_email, meeting_link, datetime): # Professional email template with meeting details
# 1. Clone and setup git clone https://github.com/SimranShaikh20/AI-Powered-Recruitment-Assistant.git cd AI-Powered-Recruitment-Assistant pip install -r requirements.txt # 2. Configure Gmail App Password (required for email sending) # Visit: https://myaccount.google.com/apppasswords # Generate 16-character password for "Mail" app # 3. Run the application streamlit run app.py
AI-Powered-Recruitment-Assistant/
āāā app.py # Main Streamlit UI
āāā requirements.txt # Dependencies
āāā utils/
ā āāā config.py # Job roles & skill requirements
ā āāā resume_parser.py # PDF text extraction
ā āāā jitsi_scheduler.py # Meeting link generation
ā āāā email_sender.py # SMTP email automation
āāā Documentation/
āāā SRS.docx # System requirements
Add new job roles in utils/config.py:
JOB_ROLES = { "Your New Role": { "mandatory_skills": ["skill1", "skill2"], "preferred_skills": ["skill3", "skill4"], "minimum_score": 70 # Percentage threshold } }
git checkout -b feature/new-feature)git commit -m 'Add new feature')git push origin feature/new-feature)This project is open source and available under the MIT License.
Simran Shaikh - GitHub Profile
ā Star this repo if you found it helpful!