The problem
A requisition opened in one tool. CVs arrived in another. Matching was a recruiter’s memory. Interviews were a calendar invite with no link back to the role. Hiring managers saw a dump; recruiters saw a queue. VIP referrals — the ones that must not get lost — landed in the same inbox as everything else.
They didn’t need another ATS brochure. They needed the week of hiring to happen in one place.
The approach
We started from the requisition, not the candidate list. Every later step has to point at a JD: sourcing, match scores, pools, interview slots. Recruiters and hiring managers get different shells of the same product — same data, different jobs. Referrals get their own qualify path, because a stakeholder intro is not a job-board apply.
The solution
A Vue 3 recruiting workspace: create and progress job requisitions, run sourcing against the open role, score candidates against the JD with a matching pass the recruiter can actually read, keep silver-medalists in CRM pools, and put interviews on a shared calendar. Live updates so two people don’t edit the same stage in the dark. Enterprise SSO so the desk sits inside the company, not beside it.
The matching UI is not a magic percentage in a vacuum. It sits on the advert — the headings the role already uses — so a score means “this CV against this job,” not “this CV against the universe.”
The result
The pipeline is visible. A recruiter can open a requisition and see who is sourced, who matched, who is waiting on a slot, without exporting to Excel. Hiring managers review a shortlist, not a folder. Referrals get qualified instead of buried. The product is private — we talk about the desk, not screenshots of other people’s candidates.
