At RealAIzation I built the AI layer of a platform that ran the hiring loop as one system: a job description generated from a brief, candidates found across five or more data sources, each scored against the role with a written rationale, then outreach personalised per person. The hard part was never the model call. It was making the machine's judgment legible enough that a recruiter would act on it, or overrule it.
- 50+Enterprise clients deployed to
- 1,000+Passive candidates identified
The problem
Sourcing was capped by how many places one recruiter could search by hand. The candidates worth approaching were passive and scattered across platforms, each with its own schema, its own rate limit and no shared notion of who a person is.
A score with no reason attached is unusable in hiring. Nobody forwards a ranking they cannot defend to a hiring manager, and any system that ranks people inherits a bias problem the moment it is switched on.
The system I built
Four stages in one loop: orchestrate, source, score, sync.
What it is made of
- An orchestrator that picks a strategy per job and re-plans between steps, with reflection passes that read the previous step's output before committing to the next.
- A sourcing agent over five or more data sources, with a scripting layer that generates custom scrapers for niche talent pools that expose no usable API.
- A scoring engine held to a written rationale per candidate, with bias guardrails in the path and a semantic memory that sets each assessment against past hiring decisions.
- An applicant-tracking bridge with two-way webhook sync across three providers, so postings go out and candidate state comes back without anyone re-typing it.
The whole AI layer, across a three-month engagement: the orchestrator and its reflection loop, the sourcing agent and its scripting layer, the scoring engine and the rationale format it produces, and the applicant-tracking integrations. Most of the work was getting four unreliable inputs to agree on one candidate record: data sources with their own idea of identity, a model that asserts anything fluently, a webhook feed that arrives out of order, and a recruiter who is right often enough to be worth listening to.
Key decisions
Explainability inside the scoring path, not beside it. Every score carries a written rationale produced in the same pass, with bias guardrails in the path and past hiring decisions as context. A bare ranked number is faster, cheaper and easier to render in a table. The rationale costs tokens per candidate and buys the thing that matters: a recruiter can dispute one specific line instead of distrusting the whole ranking.
Sourcing past what integrates cleanly. The sourcing agent generates and runs custom scripts against talent pools with no usable API, instead of confining the search to the handful of indexed pools every competing tool also reads. Scrapers break when a source changes its markup and fail by returning fewer candidates, so the layer runs with its own monitoring and treats that failure as expected.
The outcome
The platform shipped inside the engagement with sourcing, scoring and two-way applicant-tracking sync. It reached 50+ enterprise clients and surfaced 1,000+ passive candidates.
