AI ProgramsRetreat
AboutCareersBook a Conversation
Workflows/Talent

Recruitment: Three Loops, One Pool

Our recruitment process is not a pipeline, because almost no real process is. Three loops run continuously: demand (roles open, pause, reopen, close), sourcing (always on, across every channel), and selection (screen, interview as many rounds as it takes, offer). All of them orbit one candidate pool that never forgets. Candidates move backward as often as forward, and every exit from any loop is an entry into the pool.

Shape 3 loops, 1 poolSourcing Always onAI reads 100% of resumes

Hiring is drawn as a line and lived as a loop

Most hiring processes fail in the gap between the tidy diagram and the messy reality:

Hiring gets documented as a straight line: post, screen, interview, offer. It never runs as one, so the diagram and the reality drift apart until the diagram is fiction.
Resumes arrive by email, LinkedIn, referral, and agency, and half never get a reply. Nobody can say where a candidate stands without asking whoever owns the folder.
Screening quality depends on who reads the pile and when. The 200th resume never gets the read the 5th did.
A declined offer, a paused req, or a near-miss candidate has no path in a linear process, so the work that went into them is simply lost.

Three loops orbiting one pool

Each loop runs on its own clock. None of them waits for the others, and all of them read from and write to the same candidate pool.

⟳ Demand loop
Roles open, pause, reopen, change shape mid-search, and close. Closing a req never discards its candidates.
⟳ Sourcing loop
Always on: inbound, LinkedIn, referrals, agencies, batch drops, and resurfacing people we already know.
⟳ Selection loop
AI screen, screening call, as many interview rounds as the role needs, offer. Backward moves are normal.
⇅ ⇅ ⇅
The Candidate Pool
Everyone we have ever met: hired, rejected, parked, withdrawn. Ranked by AI screen, grouped by role family, searchable forever. Every loop exits into it; the sourcing loop draws from it.

Roles churn, the system keeps up

D1One click
Open the Req
Recruiter
D2When ready
Publish the Posting
Recruiter
D3As business shifts
Pause / Reshape
Recruiter
D4Filled · closed · cancelled
Close or Reopen
Recruiter
Reqs reopen when demand returns, with their full applicant history intact.
D1
Open the req: the pipeline builds itselfRecruiterOne click

A recruiter creates the requisition from the Job Reqs list: title, employment type, location, remote policy, salary band. The system seeds the same five-stage board every role uses (Screen, Interview, Offer, Hired, Rejected), so no two roles ever run subtly different processes. The req opens for hiring immediately but stays off the public site until the posting is ready.

D2
Publish, or don’tRecruiterWhen the JD is ready

The public posting is written in markdown on the req itself: the JD, a clean URL, and up to three screening questions. Flipping it public puts it on the careers page. Some roles never publish at all and are filled entirely from sourcing and the pool. The posting is one door among several, not the process.

D3
Reqs pause, reshape, and change mid-searchRecruiterReality

Budgets move, priorities shift, and the role you started hiring for is not always the role you finish hiring for. A req can go on hold and come back; its JD, salary band, and screening questions can be edited mid-search. Candidates in flight keep their history through every change. Nothing resets because the role evolved.

D4
Closing a req is not the end of its candidatesRecruiterFilled, closed, or cancelled

Every close records an outcome (filled, closed without hire, or cancelled) and takes the role off the careers page automatically. The candidates in flight do not vanish: they exit into the pool with their screens, ratings, and notes attached, and the strong ones surface first when a similar req opens. Reopening a req picks up exactly where it left off.

Always on, across every channel

S1Careers page
Inbound
Candidate
S2Continuous
Outbound + Referrals
Recruiter
S3Per engagement
Agencies
Agency
S4Up to 25 resumes
Batch Drop
Claude
S5Every new req
Pool Resurfacing
System
Sourcing never stops when a role is filled. The loop keeps feeding the pool for the next one.
S1
Inbound from the careers pageCandidateWhenever candidates apply

A candidate applies with a resume, cover letter, and answers to the role’s screening questions. The application lands in the talent system attached to the req. No inbox, no forwarding, no resume that only exists in one person’s email.

S2
Outbound, referrals, and everything in betweenRecruiterContinuous

LinkedIn sourcing, team referrals, event contacts, and agency submissions all run in parallel with inbound. Sourcing is a standing activity, not a burst that starts when a req opens. Every channel is tagged at intake (sourced, referral, agency, LinkedIn, job board, event), so the system can later answer which channels actually produce hires.

S3
Agencies feed the same funnelAgencyPer engagement

Agency candidates enter through the same doors and get the same treatment as everyone else: the same AI screen, the same two gates, the same record. No parallel spreadsheet process for agency submissions. One system of record regardless of who found the person.

S4
The batch drop: 25 resumes at a timeClaudeAI prefill, human review

Sourced resumes arrive in bulk: a recruiter drops up to 25 files at once and AI reads each one, prefilling a draft with name, email, phone, LinkedIn, headline, and current title. The recruiter reviews and saves each draft. Ten minutes of drag-and-drop replaces an afternoon of data entry, and duplicates are impossible by construction: candidates are keyed by email, one application per person per role, and re-adding someone surfaces their existing record instead of creating a second.

S5
The pool is a sourcing channelSystemFirst stop for every new req

When a req opens, sourcing starts from everyone the company has already met. The pool is ranked by best AI screen and grouped by role family, so last quarter’s strong runner-up surfaces at the top of this quarter’s search with full history attached. The cheapest candidate to find is the one you already found.

The real flowchart, every branch included

One candidate’s path through selection. Solid lines are the working process; dashed lines are the pool’s memory. Every “no” has a destination, and none of them is a shredder.

THE CANDIDATE POOLEveryone we have ever met,ranked by best AI screen,grouped by role family.Ways in:· rejected, with reason· withdrew· future consideration· on hold: req paused· req closed: everyone in flight· hired: still on the recordWay out:resurfaced for the next req.The pool is the first sourcingchannel every time a req opens.resurfaced for the next reqApplication landscareers · batch drop · agency · referralAI screen (Claude)0–5 rating · reasoning · strengths · gapsTwo gatesAI score × recruiterboth weak: rejectedstrong on bothGates disagreesecond human lookworth a callScreening callrecruiter: motivation · salary · noticeRight role,right now?no: parked or withdrewyesInterview roundshiring team · as many as it takesPaneldecisionno: rejected, with reasonsplit: another roundyesOffer + negotiation ⟲terms move both waysAccepted?declined: back to the warm shortlistacceptedHiredhands off to New Member Onboardingstill on the record
C1
AI reads and scores every resumeClaudeAutomatic, on arrival from any channel

The moment an application lands, from any door, Claude reads the full resume against the JD and writes a structured screen: a 0–5 fit rating, an overview, concrete strengths and gaps, an English-proficiency read, and the salary expectation and notice period exactly as stated, never guessed. Every application gets the same depth of read whether it arrived first or five hundredth.

Scored candidates also stack-rank within their role family, not just the single job they applied to. A strong engineer who applied to the wrong opening still surfaces near the top of the engineering family.

C2
Two independent gates, three ways outRecruiterAI score + recruiter rating

Every application carries the AI’s score with its written reasoning and the recruiter’s own star rating, side by side. Weak on both gates: rejected, with the reason recorded, into the pool. Strong on both: on to the screening call. Gates disagree: a second human look decides, because disagreement is signal, not noise. Nobody is rejected by AI alone.

C3
The screening call, two ways outRecruiterShort recruiter call

Before any formal interview, a recruiter talks to the candidate: motivation, expectations, notice period, the things a resume can’t say. Right role at the right time: on to interviews. Wrong role or wrong timing: parked as future consideration, or recorded as withdrew if the candidate steps back. Either way the call notes go on the record, and the pool keeps them.

C4
Interview rounds, three ways outHiring teamOne to several, sometimes repeated

Interviews are not a fixed count. A senior role may take three rounds and a follow-up with a different interviewer; a junior role may take one. Panel says yes: offer. Panel says no: rejected, with the reason recorded. Panel is split: another round, and that backward move is recorded like any other. No side-channel “can you talk to her once more” that the system never sees.

All working context lives on the application: the notes thread, the resume (replaceable when a better version arrives), the cover letter and answers, both ratings, and the stage history. Anyone on the team can open it and know exactly where things stand.

C5
The offer, two ways outHiring teamNegotiated, sometimes lost

Offers get negotiated, and terms move both ways before they settle. Accepted: the application flips to hired and hands off to the New Member Onboarding workflow, which turns the applicant record into an employee record without re-typing anything. Declined: the search goes back to the warm shortlist, which is still ranked and still in the system, not back to square one.

Either way, the loop closes with an explicit status and a recorded reason. Nobody is left in limbo, and no outcome is silent.

Every exit is a pool entry

“Rejected” is a status, not a deletion. Every way out of the three loops lands in the pool with full history:

The ways out

  • Rejected, always with a recorded reason
  • Withdrew: candidates change their minds; the door stays open
  • Future consideration: right person, wrong timing, parked deliberately
  • On hold / passive: in flight but paused, usually with the req
  • Hired: off to onboarding, still on the record

What the pool does with them

  • Ranks everyone by their best AI screen, across every application
  • Groups by role family so the next search starts pre-sorted
  • Keeps every screen, rating, and note attached to the person
  • Feeds the sourcing loop: resurfaced candidates skip the cold start
  • Honors a do-not-hire flag where the decision is final

The seven elements

Every workflow we document has the same anatomy: seven elements, each assigned to a human, a machine, or both. This is the Centaur Map from our workflow design method.

01 TriggerBoth

No single trigger. A role opening, a strong inbound resume, a referral, or a pool resurfacing can each start motion, and usually several are running at once.

02 InputsBoth

The JD and screening questions, resumes from every channel (careers page, LinkedIn, referrals, agencies, batch drops), and the full history of everyone the company has already met.

03 DecisionBoth

Two independent gates per candidate: the AI screen with written reasoning and the recruiter’s rating. Plus explicit human decisions at every exit and every backward move.

04 RoutingBoth

Not forward-only. Candidates move back a stage for another round, return to the shortlist after a declined offer, or exit to the pool and re-enter months later on a different req.

05 OutputMachine

A living record per candidate: every application, every screen, both ratings, the notes thread, and every status change with its reason.

06 DeliveryMachine

Ranked, sortable views wherever the work happens: per req, per role family, and across the whole pool.

07 MeasurementMachine

Conversion inside each loop, AI-vs-recruiter disagreement, time from open req to hire, and how often the pool, not a job board, fills the role.

The standing rules

  • Every role runs the identical five-stage board. The loops vary; the record doesn’t
  • Every door produces the same structured record, agency or inbound alike
  • Every resume is read in full by AI on arrival
  • Backward is a normal direction, and every move is on the record
  • No candidate is rejected by AI alone, and every exit has a recorded reason
  • Closing a req never discards its candidates; nothing is ever deleted

Why it works

  • The documented process matches the lived one, so people actually keep the system true
  • One system of record ends the where-does-this-candidate-stand question
  • Always-on sourcing means a new req starts warm, not cold
  • Two independent gates catch what either one alone would miss
  • The pool compounds: every search makes the next one faster
  • Declined offers and paused reqs cost days, not restarts