-
-
CandidateForge is an AI-powered candidate data transformation platform designed to streamline recruitment workflows.
-
It seamlessly ingests multi-source inputs including PDF resumes, CSV files, ATS data, LinkedIn, and GitHub profiles
-
The automated pipeline extracts structured candidate information, normalizes contact and date fields, detects duplicates, and resolves
-
classifier with the HireFlow autonomous screening agent powered by Qwen LLM, CandidateForge generates confidence scores, categorizes
-
Building HireFlow Agent: An Autopilot Hiring Agent on Qwen Cloud
Inspiration
Hiring teams drown in resumes. Recruiters either rely on rigid keyword-matching ATS systems that reject great candidates over formatting quirks, or spend hours manually screening every application. We wanted an agent that combines the speed of ML pre-filtering with the nuanced judgment of an LLM — one that knows when to trust a score and when to say "a human needs to look at this."
This builds on our existing project, CandidateForge, a multi-source candidate data transformer we had already built. The Qwen Cloud hackathon gave us the push to add an autonomous reasoning and decision-making layer on top of it — turning a data pipeline into a true autopilot hiring agent.
What it does
HireFlow Agent takes a candidate's resume and a job description, and autonomously decides the next workflow step:
- Shortlist — when both the ML pre-filter score and the agent's own reasoning agree the candidate is a strong fit
- Reject — when the resume clearly doesn't meet core requirements
- Human Review — when signals disagree, or the resume shows qualitative strengths a numeric score can't capture (career switchers, open-source contributions, non-traditional backgrounds)
For shortlisted candidates, it proposes a suggested interview slot automatically. Every decision comes with a confidence score and a plain-language explanation citing specific resume evidence — no black-box scoring.
How we built it
The pipeline has four stages:
- Ingest & Extract — resumes (PDF, DOCX, CSV, ATS JSON, GitHub, LinkedIn) are parsed into structured candidate profiles using
pdf-parseandmammothfor real text extraction. - ML Pre-Filter — a Random Forest classifier scores role fit based on structured features (skills match, experience, education).
- Qwen Reasoning Layer — the ML score and parsed resume are passed to Qwen (
qwen-plus) via Alibaba Cloud Model Studio's OpenAI-compatible API. A structured system prompt forces the model through explicit reasoning steps and returns strict JSON: decision, confidence, reasoning, ML-agreement level, and a suggested interview slot. - Human-in-Loop Checkpoint — borderline or disagreement cases are flagged distinctly in the UI rather than being silently auto-decided, keeping a human in control of the final call.
The backend runs on Node.js/Express (TypeScript), with a React frontend for the recruiter dashboard, and Qwen calls routed through Alibaba Cloud Model Studio's Singapore endpoint.
Challenges we ran into
- A silent parsing bug: our PDF parser was reading raw binary buffers as plain text, so candidate names were coming through as
%PDF-1.5(the literal PDF file header) instead of the actual name — with a falsely low confidence score. We rebuilt the extraction layer with properpdf-parse/mammothintegration and added guards that explicitly fail loud (rather than silently returning garbage) for scanned or unreadable documents. - Cloud account verification: setting up Alibaba Cloud account verification from India hit a country-selector rendering issue during signup, which cost significant debugging time under a tight deadline.
- JSON reliability: Qwen occasionally wrapped its JSON output in markdown code fences, which we handled with a cleanup step before parsing.
Accomplishments that we're proud of
Building a hybrid ML + LLM decision system where the two layers actively cross-check each other, rather than just chaining a model call onto existing data — the agent explicitly reasons about disagreement between the numeric score and its own reading of the resume, which is the core of what makes this "autopilot" rather than "autocomplete."
What we learned
Production agent design is less about prompting a model and more about designing the guardrails around it: strict output schemas, explicit human-escalation triggers, and fail-loud error handling at every pipeline stage matter more than raw model capability.
What's next for HireFlow Agent
- Deeper Alibaba Cloud integration: full Function Compute deployment for the backend (in progress)
- Calendar API integration for fully automated interview scheduling, not just suggested slots
- Multi-role batch screening for recruiters managing multiple open positions simultaneously
- Feedback loop: recruiter overrides on human-review cases retrain the ML pre-filter over time
Built With
- alibaba
- alibabacloud
- cloud
- css
- express.js
- git
- github
- javascript
- json
- llm
- mammoth.js
- model
- node.js
- openai
- pdf-parse
- python
- qwen
- random
- randomforest
- react
- render
- scikit-learn
- sdkrest
- typescript
- vite


Log in or sign up for Devpost to join the conversation.