What the Parser Extracts
The NLP pipeline extracts 15+ fields from each resume:
- Contact info -- name, email, phone, LinkedIn URL, location
- Skills -- technical skills (Python, React, AWS) and soft skills (leadership, communication), matched against a taxonomy of 5,000+ known skills
- Work experience -- company name, job title, dates, duration, and description for each position
- Education -- institution, degree, field of study, graduation date, GPA
- Certifications -- certification name, issuing organization, date
- Languages -- spoken languages and proficiency levels
- Summary -- extracted or generated candidate summary
NLP Pipeline
The parser uses a three-stage pipeline. Document extraction converts PDFs and DOCX files to clean text using pdfplumber and python-docx, handling multi-column layouts, tables, and headers/footers. Section classification identifies which parts of the resume correspond to experience, education, skills, etc. using a fine-tuned BERT classifier. Entity extraction pulls structured data from each section using spaCy NER models trained on resume data, plus regex patterns for dates, emails, and phone numbers.
Job Matching and Ranking
Paste your job description and the system computes a fit score for each candidate. The matching algorithm compares required skills vs. candidate skills, required experience years vs. actual experience, and education requirements vs. candidate education. Each factor is weighted (configurable), and the final score is a 0-100 fit percentage. Candidates are ranked by fit score so you review the best matches first.
Handling Edge Cases
Resumes come in every format imaginable. The parser handles multi-column layouts, tables used for formatting, image-based PDFs (via OCR with Tesseract), resumes without clear section headers, and creative/non-standard formats. Parsing accuracy is 90-95% on standard resumes and 80-85% on creative formats.


