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

Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 1
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.
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 2
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.
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 3
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

Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 4
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.
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 5
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.
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 6
© 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.

Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 1
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 2
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 3
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 4
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 5
Pfactorial_Case_Study_Resume_Parser_ATS_Scoring image 6