OPS-26-N1Mała firma · Rekrutacja

Agencja rekrutacyjna — sourcing IT na skalę

8-osobowa agencja headhunterska, specjalizacja: senior IT. Sourcing manualny zabijał 4-6h dziennie per rekruter. AI scoring + multi-source aggregation zwolniło zespół do roboty z kandydatami.

więcej kandydatów /rekruter
Sektor
Recruiting / HR
Powierzchnie
LinkedIn · GitHub · StackOverflow · Notion · Slack
Czas pracy
Production · 7 mies
Opublikowano
2026-04-10

Wyzwanie

Agencja headhunterska 8 osób, fokus: senior backend / DevOps / ML engineers w EU. Annual revenue ~€1.4M, 100% kontingencja (płatność tylko za zatrudnionego kandydata, fee ~20-25% rocznej pensji).

Sourcing model w 2025: każdy rekruter spędzał 4-6h dziennie na LinkedIn Recruiter — boolean searches, manual review profili, kopiowanie do Notion talent pool. Reszta dnia: outreach, calls z kandydatami, presentation klientom.

Bottleneck: rekruter sourcował ~30-50 profili dziennie ręcznie, z czego ~5-8 było realnie quality match. Quality bar = 90%+ match na hard skills + senior level + location/comp range. Tempo wzrostu agencji ograniczone przez sourcing capacity, nie brak roli.

Podejście

Setup w 5 tygodni. Trzy etapy pipeline:

<strong>1. Multi-source ingestion</strong>: LinkedIn business pages (authorized recruiter accounts), GitHub (public profiles + commit activity per language), Stack Overflow (tag expertise + reputation), Twitter (tech engagement). Daily refresh, ~3000 profili dodanych/dziennie.

<strong>2. ICP fit scoring</strong>: per otwarty role klient definuje ICP (tech stack required, seniority signals, location flexibility, comp range). AI scoring (Claude Sonnet) ocenia każdego sourced kandydata vs ICP — daje score 0-100 + reasoning. Threshold 75+ → przechodzi do recruiter review.

<strong>3. Deduplication + enrichment</strong>: profile match across sources (LinkedIn URL + GitHub username + email hash). Wzbogacenie: tenure tracking (job changes ostatnie 2 lata), tech stack ewolucja, public contributions.

Integration: bezpośredni push do Notion talent pool (custom view per role) + Slack alerts dla rekruterа o nowych high-fit candidates. Zero zmiany w ich existing workflow.

Stack: TypeScript, Playwright dla LinkedIn z residential proxy, GitHub API, SO API, PostgreSQL, Claude Sonnet API (~€120/mies tokens), Notion API, Slack bot. Hosting: 1 mid-tier VPS €60/mies.

Wynik

Per-recruiter capacity: 5-8 quality candidates/dzień → 20-30/dzień (4× growth). Z czego ~12-18 dziennie to high-fit (75+ score) — recruiter robi outreach, 3-5 reply rate per dzień (vs ~1-2 wcześniej).

Time reclaimed: 4-6h/dzień manualnego sourcingu → 1-2h dziennie review AI-flagged top scores. Wyzwolone 15-20h tygodniowo per rekruter na pracę z aktywnymi kandydatami — fundamentalnie inne use of time.

Revenue impact: agencja zwiększyła hire rate z ~12 placement/kwartał do ~22 w pierwszym kwartale po deploymentcie. Annual run-rate w +60% YoY na tym samym headcount.

False positive rate AI scoring: ~18% w month 1 (zbyt liberal threshold), tunowany do ~6% w month 3 (recruiterzy nie tracą czasu na bad matches). Klient prowadzi tracking accuracy w spreadsheet — system improves miesięcznie.

System operating 7 miesięcy. Zero incidents critical, 2 LinkedIn account temporary blocks (typowa frequency dla aktywnego sourcing), oba rozwiązane &lt;24h. Klient negocjuje extension scope o europejskie talent pools (Niemcy, UK).

Stack

PlaywrightBright Data residential proxyClaude Sonnet APIGitHub APIPostgreSQLNotion APISlack BotTypeScriptHetzner VPS

Wskaźniki

  • ~3000Profile sourcowane / dzień
  • ~16High-fit per recruiter / dzień
  • Capacity growth
  • +83%Hire rate Q vs Q
  • €680 / miesCost operacyjny
  • 99.4%Uptime
Podobny problem w Twojej firmie?

Każdy projekt jest inny, ale wzorce się powtarzają.

Jeśli rozpoznajesz fragmenty tego case study u siebie — napisz. Zwykle widzimy w pierwszym callu, czy to skala godzin tygodniowo, czy infrastruktura na miesiące.