The aim was a candidate sheet where every row could be compared like for like. Here is how ResumeFlow differs from manual screening.


Studied the recruiter’s manual process end to end to see where time was lost and which fields were most often missed or miscopied.
Built the webhook intake and the text and OCR layer to reliably pull content out of varied formats, including embedded links.
Defined the six-field JSON schema, then tuned the prompt against real resumes until the same fields came back every run.
Added required-field checks, date and title normalisation, profile classification, and the thresholds that decide what waits for a human.
Connected the structured output to Google Sheets and ATS destinations so screening could begin the moment a parse finished.
Ran the pipeline against real resume volume, refining prompts and extraction rules until output held up beyond a small sample.
