Inspiration

Every year, millions of job seekers get rejected by an algorithm and told nothing. We looked into the current state of AI hiring tools and found three real, documented failure modes: governance is bolted on as compliance theater rather than built in from the start, every serious tool targets large enterprise HR teams while SMEs and informal-sector employers are left with nothing, and every tool is a one-way funnel — a rejected candidate gets no explanation and no path forward. That last point stuck with us the most. We wanted to build something that treats a rejection as a data point that helps someone get hired next time, not a dead end.

What it does

HireFlow is a recruiter autopilot agent that automates the hiring pipeline from intake to a human-reviewed decision. It parses resumes and job postings into structured profiles, ranks candidates against a job's requirements with a visible, human-readable reasoning string (not just a numeric score), and requires a human approval checkpoint before any candidate-facing action happens. On approval, it drafts an interview invite. On rejection, it generates a specific, actionable skill-gap explanation instead of silence. Every single agent decision — every match, every approval, every rejection — is written to an audit log, so the system is explainable and auditable by design, not as an afterthought.

How we built it

The backend is built in Python with FastAPI, orchestrating a small set of specialized agents: an intake/parsing agent that structures resumes and job postings via Qwen models, a matching/ranking agent that generates embeddings and a reasoning string in a single call, a lightweight rule-based criteria-consistency checker, and a scheduling agent that drafts interview messages on approval. All AI calls go through Qwen models via Alibaba Cloud Model Studio and DashScope, using an OpenAI-compatible client. Structured data and the decision log live in ApsaraDB RDS for PostgreSQL, resumes and job files are stored in Alibaba Cloud OSS, and the whole backend is deployed on Alibaba Cloud ECS behind Nginx, inside our own VPC/vSwitch. The frontend is a React + Vite dashboard where a human reviewer sees the ranked shortlist with reasoning, and approves or rejects each candidate.

Challenges we ran into

Splitting a three-person team across a tight timeline meant we restructured our task ownership partway through one person ended up owning the entire backend, orchestration, and deployment, while the other two focused on the frontend and demo production, which required carefully documenting a shared API contract up front so no one was blocked waiting on anyone else. We also ran into an early AllocationQuota.FreeTierOnly error on our DashScope account that blocked all API calls despite having hackathon credit resolved by disabling free-tier-only mode on the account. On the infrastructure side, wiring together OSS, RDS, VPC, vSwitch, and ECS for the first time, and getting git pull-based deployments working cleanly on our ECS instance, took real trial and error.

Accomplishments that we're proud of

We're proud that HireFlow is a fully deployed, publicly reachable system — not a local demo — running end-to-end on Alibaba Cloud with real infrastructure (ECS, RDS, OSS) behind it. We're especially proud of the decision log and skill-gap feedback loop, since that's the piece that actually differentiates HireFlow from a generic ATS: every decision is explainable, and a rejected candidate gets something real to act on instead of silence.

What we learned

We learned how much a documented API contract front-loads team velocity — writing down the exact request/response shape before writing implementation code let our frontend and backend work in true parallel instead of blocking on each other. We also got hands-on experience with the practical realities of cloud deployment: provisioning RDS and OSS with least-privilege RAM credentials, keeping secrets out of source control, and the difference between pulling new code and actually restarting the service that's running it.

What's next for HireFlow

We'd like to build out full automatic re-queuing, where a candidate who closes their skill gap is automatically re-surfaced for roles they were previously rejected from, and expand employer-side memory so match quality improves the more an employer uses the system. Longer term, HireFlow's architecture is deliberately configurable rather than hardcoded to one market or industry, so we see a real path to making it usable by SMEs and informal-sector employers who are underserved by every enterprise-focused ATS on the market today.

Built With

Share this project:

Updates