
They Asked Us To Build A CV Parser.
We Ended Up Automating Candidate Intake.
Upload a CV. Extract the information. Save it.
4
Core modules
3
Integrations
AI
Powered parsing






Project Snapshot
- Industry
- Recruitment & HR
- Platform
- AI-Powered CV Processing System
- Focus
- Candidate Intake & Recruitment Workflow Automation
- Integrations
- Google Gemini 2.0 Flash · Supabase Edge Functions · PDF.js
- Core Modules
- • CV Upload• AI Parser• Candidate Profile Builder• Searchable Database
The brief
The original request sounded simple.
Upload a CV. Extract the information. Save it.
At first, it looked like another AI document parser.
But after understanding how recruiters actually work, we realized parsing wasn't the problem.
The real problem was turning hundreds of completely different CVs into structured candidate data that recruiters could actually search, compare, and use.
Recruiters Don't Read CVs. They Search For Candidates.
Every recruiter receives CVs in different formats.
Some are beautifully designed. Some are simple Word exports. Some are scanned PDFs.
Others have two-column layouts, icons, or inconsistent formatting.
Humans adapt instantly. Software usually doesn't.
What We Discovered
The client didn't need another OCR tool.
They needed a system that could understand candidates regardless of how their CV looked.
Instead of extracting text, the platform builds structured candidate profiles that become searchable across the business.
Engineering Note
Every uploaded CV is stored alongside both its original extracted text and its structured AI output, allowing recruiters to verify results without losing the original document.

Parsing wasn't the problem. Turning unstructured CVs into searchable candidate data was.
Reading A PDF Was The Easy Part

Extracting text from a PDF isn't particularly difficult. Understanding it is.
Experience sections appear in different places. Skills are written differently. Education follows no standard format.
Languages. Certifications. Projects. Every CV tells the same story differently.
So instead of relying on templates, we built an AI-powered parsing pipeline.
The system first extracts raw text from the PDF.
Then Gemini analyzes the content and converts it into structured candidate data.
Every CV follows the same output format, even if the input looks completely different.
Behind The Scenes
PDF.js handles text extraction while a dedicated Supabase Edge Function sends cleaned content to Google Gemini 2.0 Flash, returning structured JSON rather than plain text.
AI Needed Structure, Not Creativity
One thing became obvious during testing.
General-purpose AI responses aren't consistent enough for recruitment.
The same CV could produce slightly different outputs depending on wording.
That makes searching and reporting unreliable.
Instead of asking AI to summarize CVs, we constrained the output into one predictable schema.
Every parsed CV returns the same fields.
Personal information. Skills. Experience. Education. Languages. Certifications.
Recruiters always know where to find the information they need.
Engineering Note
As new prompt changes were introduced over time, older improvements such as chronological ordering, bullet formatting, and section consistency began to regress. We redesigned the parser around a dedicated Edge Function with tightly controlled prompts to keep results stable over time.


Structured candidate cards with skills, experience, contact details, and status badges.
Parsing Isn't Useful Until Someone Can Search It
Skills
Experience
Location
Languages
Education
Contact information
Many CV parsers stop after generating AI output. We wanted recruiters to actually use the information.
So every parsed CV becomes a searchable candidate record.
Instead of repeatedly opening PDFs, recruiters can search structured fields like:
The CV becomes data instead of just another file.
Engineering Note
Frequently searched fields such as name, email, phone, location, LinkedIn, and GitHub are denormalized into dedicated database columns while the complete AI output remains stored as JSON for future expansion.

AI Still Needed Human Oversight
Recruitment decisions shouldn't happen inside a black box.
Instead of automatically saving AI results, we designed a review workflow.
Recruiters first see the parsed CV presented in a clean professional layout.
They can compare it with the original extracted text.
Only after reviewing it do they save the candidate to the database.
That keeps humans in control while AI removes the repetitive work.
Behind The Scenes
Every parsed CV includes both a professionally formatted preview and the original extracted text, making it easy to validate AI output before storing candidate records.

Building A Parser Meant Planning For Thousands Of CVs
Parsing pipeline


Dashboard activity feed and company database showing processing status across the recruitment pipeline.
Engineering Note
Every parsed CV stores processing status, timestamps, error messages, user ownership, and structured output separately, making the pipeline resilient enough to recover gracefully from failed AI or document-processing attempts.
One CV is easy. Thousands aren't.
The platform needed to handle processing status. Failed parses. User ownership. Large PDF uploads.
Future integrations with recruitment workflows.
So instead of treating parsing as a standalone feature, we designed it as a scalable pipeline.
Each upload moves through a clear lifecycle—from upload, to extraction, to AI processing, to review, to storage.
The foundation is ready for future candidate matching, job scoring, and recruitment automation.
- Upload
- Extract
- AI Process
- Review
- Store
The Outcome
Recruiters upload a CV.
AI structures the information.
Candidates become searchable.
Original documents remain available.
Recruiters review everything before saving.
What started as a simple CV parser became a candidate intake platform.
Instead of spending time reading hundreds of differently formatted CVs, the platform automates the repetitive work while keeping hiring decisions firmly in human hands.
Explore The Demo
Experience the platform from the recruiter's perspective and see how AI-powered parsing, structured candidate profiles, searchable records, and review workflows work together inside one connected recruitment platform.