InputConvDenseBottleneckReadout
← All Work
AI Product · Recruitment · Multi-Agent Systems

Cohort AI

An AI-native recruitment platform that uses a suite of specialized agents — SPEC — to source, vet, and deliver the top 3 pre-vetted technical candidates for a role within 72 hours. No resume spam, no Boolean query nightmares.

Client: Cohort AIRole: AI Systems ArchitectYear: 2024thecohort.ai ↗
AI AgentsNLPLangGraphPersonalizationMulti-AgentRecruitment
Outreach messaging
Job offer creation
Candidate matching
Sourcing sequence

The Problem

Technical hiring is broken in a predictable way. Founders and engineering managers spend 40–60% of their hiring cycles on sourcing — writing Boolean queries, scrolling LinkedIn, and reading resumes that look great on paper but fail a 10-minute technical screen. The average time-to-hire for a senior engineer is 45–60 days. That's runway you can't recover.

Existing ATS solutions give you a bigger haystack, not a better needle. Platforms like Greenhouse or Lever optimize for tracking, not discovery. LinkedIn Recruiter requires constant human curation. What founders actually need is fewer, better candidates delivered fast.

Cohort AI's thesis: if you can automate the first 80% of the sourcing-to-screen pipeline with AI agents, a human Talent Architect can focus entirely on the 20% that requires judgment — culture fit, compensation negotiation, offer strategy.

The SPEC Agent Architecture

The core of Cohort AI is SPEC — four specialized agents that work in sequence, each with a narrow responsibility and a well-defined handoff contract. I designed this as a directed graph using LangGraph, where each node can branch, retry, or escalate to a human-in-the-loop checkpoint.

Sally — The Sourcer

Sally operates as a multi-source talent spider. Given a job spec, she fans out across GitHub (commit activity, language usage, project ownership), LinkedIn (role history, recommendations), and Stack Overflow (reputation, answer quality, topical expertise). She doesn't just find profiles that match keywords — she builds a signal-weighted score for each candidate across technical depth, recency of activity, and domain relevance. Sally runs async across all sources simultaneously, deduplicates by normalized email/handle, and produces a ranked candidate shortlist with an initial match confidence score.

Built on the GitHub GraphQL API, a structured LinkedIn scraper with rate limiting and proxy rotation, and Stack Overflow's public data API. Signals are vectorized and compared against a role-specific embedding built from the job description using text-embedding-3-large.

Pete — The Prospector

Pete handles outreach personalization at scale. For every candidate Sally surfaces, Pete generates a highly personalized first-touch message referencing their specific work — an open-source project they contributed to, a post they wrote, a role transition that mirrors the opportunity. This isn't template substitution — Pete uses a fine-tuned prompt chain to synthesize the candidate's public signal into a coherent "why I'm reaching out about this specific role" narrative. Pete also manages follow-up cadences, cooling-off periods, and response classification (interested, not now, refer someone else).

Pete achieved a 3.2× improvement in response rate vs. generic recruiter InMails in A/B testing. The key was specificity — referencing a candidate's actual code, not just their title.

Eva — The Evaluator

Once a candidate expresses interest, Eva takes over. She conducts an asynchronous technical screening — presenting role-specific challenges, evaluating submitted code or architecture answers against a rubric, and cross-referencing the candidate's GitHub contribution history against the claims in their resume. Eva produces a structured evaluation report: skill match by dimension (language proficiency, system design, domain knowledge, culture signals), a confidence-weighted overall score, and a fit note explaining her reasoning. This replaces the traditional 45-minute phone screen.

Eva's rubric is customizable per role and company. The evaluation pipeline chains a code analysis step (AST-based for structure, GPT-4o for quality commentary) with a semantic comparison of the candidate's stated experience against what their actual commits and answers demonstrate.

Charlie — The Closer

Charlie manages everything after the technical bar is cleared — scheduling coordination, interview prep packet generation, offer simulation (given market data and the candidate's current comp signals), and the logistics of getting both sides to a signed offer. Charlie integrates with Calendly, Google Calendar, and Greenhouse to maintain a single source of truth for the pipeline state. He also generates the final "candidate brief" delivered to the hiring manager — a 1-page synthesis of Eva's evaluation, Pete's engagement history, and a recommended interview focus area.

The candidate brief format was designed with hiring managers, not recruiters. Three sections: what the candidate is strong at, what to probe deeper, and one thing that surprised us. Consistently cited as the most valuable artifact in user interviews.

Technical Architecture

Orchestration Layer

LangGraph manages the SPEC state machine. Each agent is a node; edges carry typed state objects. Human-in-the-loop checkpoints pause execution at Eva's evaluation output, letting Talent Architects override or approve before Charlie runs. This made the system auditable — every decision has a trace.

Candidate Matching

Job descriptions are embedded and stored per-search. Candidate profiles are vectorized at scrape time and stored in pgvector. Semantic similarity is combined with structured signal scores (recency, activity depth, role alignment) using a weighted reranking step to produce the final shortlist.

Reliability & Rate Limiting

Celery + Redis powers the async task queue for Sally's multi-source fan-out. Scrapers run with exponential backoff, proxy rotation, and source-specific rate envelopes to stay within API limits without triggering blocks. Failed tasks retry up to 3 times before escalation.

Data Privacy

All candidate data is scoped to the hiring company's tenant. Profiles sourced for one search are never surfaced to another company's pipeline. PII is encrypted at rest. Candidate briefings are generated on-demand and never stored permanently without explicit consent.

Results & Impact

40%

Reduction in time-to-hire

72h

First candidates delivered

3.2×

Outreach response rate lift

10%

Success-based fee — no upfront

Hiring managers consistently reported that the Candidate Brief — the 1-page synthesis Eva and Charlie produce — was the most actionable document they'd ever received from a recruiter or recruiting tool. The signal-to-noise ratio was the differentiator: instead of reviewing 40 resumes, hiring managers made a decision from 3 fully contextualized, pre-screened candidates.

Stack

PythonLangGraphOpenAI GPT-4oEmbeddings (text-embedding-3-large)FastAPIPostgreSQLRedisCeleryGitHub APILinkedIn ScrapingNext.jsTypeScriptTailwind CSS