
Back
Recruiting & HR Tech
A Multi-Format Resume Parsing Platform With Automated ATS Scoring
How Pfactorial Technologies built a resume parsing platform that extracts structured candidate data from any common file format and scores completeness automatically, with LLM-based content validation guarding every step.
August 21, 2026
Share
ENGAGEMENT SNAPSHOT

Figure 1 - Key figures from this engagement, at a glance.
EXECUTIVE SUMMARY
Our client's recruiting workflow needed resumes turned into structured, comparable candidate data automatically, regardless of whether a resume arrived as a PDF, a Word document, a scanned image, or a plain text file.
Resumes are famously inconsistent in format and structure, and a parser that only handles clean digital PDFs misses a meaningful share of real submissions - scanned resumes, legacy .doc files, and image uploads all need their own extraction path, and every uploaded file first needs to be confirmed as an actual resume before any parsing effort is spent on it.
Pfactorial built a resume parsing platform that routes each file to the extraction method suited to its format, validates the content is genuinely a resume before running expensive LLM parsing, extracts structured candidate data via an LLM, and calculates an automated completeness score - all surfaced through a result dashboard with JSON export.
Why this engagement is representative This engagement is a clean example of Pfactorial building the format-normalization and validation discipline around an LLM extraction step - the model does the structured parsing, but the surrounding pipeline is what makes the results trustworthy across real-world resume variety.
THE CHALLENGE
Turning arbitrary resume uploads into structured, comparable data required solving format diversity and content validation before any LLM call.
1. Resumes arrive in genuinely different formats
PDF, DOCX, legacy DOC, TXT, and image formats (JPG, PNG) each require a different extraction approach - no single library handles all of them well.
2. Not every upload is actually a resume
Without validating that uploaded content is genuinely resume-like before parsing, the system risks running expensive LLM extraction on irrelevant documents and returning meaningless or malformed results.
3. A single completeness metric needs to work across resume styles
Resumes vary enormously in structure and content emphasis; the scoring approach needed to reward genuine completeness across key fields without penalizing legitimate stylistic variation.
The real brief Not “parse a resume with an LLM” but “route every real-world file format to the extraction method that actually works for it, validate before spending model calls, and score the result consistently.”
THE SOLUTION
Pfactorial built the platform around format-specific extraction routing, a two-stage validation gate before LLM parsing, and a documented completeness scoring model applied consistently to every parsed resume.

Figure 2 - Every format routed to its matched extraction method before validation and LLM parsing.
Architectural principles
- Extraction method matched to file format - OCR handles images and scanned PDFs, Docling handles DOCX, Spire.Doc handles legacy DOC, and direct reads handle TXT - each format routed to the tool actually built for it.
- Validate before you spend an LLM call - Uploaded content is checked with keyword detection and LLM-based classification to confirm it's genuinely resume content before the more expensive structured-extraction pass runs.
- Structured extraction with a consistent schema - Every successfully parsed resume returns the same structured JSON shape - name, experience, education, skills, certifications and more - regardless of source format.
- Explicit failure states, not silent guesses - A file that can't be parsed, isn't a resume, or returns no meaningful data returns a distinct 422 status rather than a malformed or empty success response.
CAPABILITIES DELIVERED
Each capability removes friction from turning an arbitrary resume file into usable, structured candidate data.
CAPABILITY | WHAT IT DOES |
|---|---|
Multi-format upload | PDF, DOCX, DOC, TXT, JPG, JPEG and PNG resumes accepted, up to 5 MB. |
Automatic extraction routing | Each file type routed to its matched extraction method - OCR, Docling, Spire.Doc, or direct read. |
Resume content validation | Keyword and LLM-based checks confirm genuine resume content before structured parsing runs. |
LLM structured extraction | Groq-served Llama 3.3 70B extracts a full structured JSON candidate profile. |
ATS completeness scoring | An automated score (capped at 100) based on the presence and richness of key resume fields. |
Result dashboard & JSON export | Structured display of all parsed sections, with full-result JSON download. |

Figure 3 - Upload to result dashboard, with a distinct failure path for non-resume content.
Design note Validating resume content before the LLM parsing step - rather than letting the LLM's structured-extraction call double as the validation step - keeps the pipeline from spending a full parsing pass on a file that was never a resume to begin with.
ENGINEERING FOR SCALE AND RELIABILITY
Five decisions keep extraction accurate and predictable across genuinely different file types.
Format-matched library selection
Pillow and pytesseract handle image OCR, pdf2image with Poppler converts PDF pages for OCR, Docling handles DOCX structure-aware extraction, and Spire.Doc handles legacy DOC files - five distinct tools, each matched to what it's actually good at.
Image preprocessing before OCR
Grayscale conversion and thresholding are applied to images before OCR runs, improving text recognition accuracy on lower-quality scans.
Two-stage content validation
Keyword detection provides a fast first-pass check, with LLM-based classification as a second, more nuanced validation layer before the structured extraction call is made.
Meaningful-content verification after extraction
Beyond confirming the file is a resume, the pipeline checks that the LLM extraction actually returned meaningful data before treating the parse as successful.
Temporary file cleanup
Uploaded files are saved to a temporary directory and deleted immediately after parsing completes, avoiding storage accumulation from processed uploads.
DELIVERY APPROACH
The engagement built format-specific extraction first, then layered validation and scoring around it.
1. Multi-format extraction routing - OCR, Docling, Spire.Doc and direct-read paths for each supported file type.
2. Content validation layer - keyword detection and LLM-based classification confirming genuine resume content.
3. LLM structured extraction - Groq Llama 3.3 70B integration producing a consistent structured JSON schema.
4. ATS completeness scoring - the scoring model evaluating field presence and richness across parsed resumes.
5. Result dashboard - the React frontend displaying parsed candidate data, score, and JSON export.
6. Containerized deployment - Docker Compose orchestration for frontend and backend services.
RESULTS AND IMPACT

Figure 4 - Key outcomes from this engagement.
The client's recruiting workflow now accepts resumes in whatever format candidates actually submit them, without manual conversion or format-specific handling.
Automated ATS completeness scoring gives recruiters a consistent, comparable signal across every parsed resume, regardless of its original format or structure.
What it enabled commercially
The platform removed format handling as a bottleneck in the client's resume intake process, letting recruiters work from structured, comparable candidate data regardless of how a resume originally arrived.
WHY PFACTORIAL
This engagement reflects Pfactorial's full-stack AI product engineering service line: building the format-routing and validation discipline around an LLM extraction call that turns a fragile parsing demo into a platform that handles real-world resume variety.

Figure 5 - Service lines this engagement draws on.
Engagement enquiries Pfactorial Technologies works with HR technology and talent acquisition teams that need reliable structured data extraction from real-world document variety. If you're evaluating a resume parsing or candidate data platform, we're happy to give you an honest read on scope and risk before anyone commits to anything. · pfactorial.ai
APPENDIX A - TECHNOLOGY STACK
The technology stack underpinning the system, grouped by the layer it serves.

© 2026 Pfactorial Technologies. Client identity and product-specific implementation detail are withheld or generalized; no client data, credentials, source code, or infrastructure detail is included in this document.
Result and Analysis
ENGAGEMENT SNAPSHOT
How Pfactorial Technologies built a resume parsing platform that extracts structured candidate data from any common file format and scores completeness automatically, with LLM-based content validation guarding every step.
CASE STUDIES
You might also like...

Recruiting & HR TechRAG & Semantic Search
Aug 21, 20267 min readRead

Data Scraping & Aggregation
A No-API Data Collection Pipeline That Sources 29,000+ Lift Equipment Listings From Public Marketplaces
Aug 21, 20267 min readRead

Recruiting & HR Tech
A Unified Desktop Softphone Integrating Telephony, SMS and CRM Lookup for Recruiting Teams
Aug 21, 20267 min readRead

Content & Media Generation
An AI Poster Generation Pipeline for Branded Recruitment Marketing
Aug 21, 20266 min readRead

Data Scraping & AggregationMulti-Agent & Agentic Systems
An Authenticated Candidate-Sourcing Pipeline for Recruiting Teams
Aug 21, 20266 min readRead

Data Scraping & Aggregation
An LLM-Powered Resume Parsing and Candidate Scoring Platform for Two-Sided Hiring at Scale
Aug 21, 20268 min readRead





