An AI recruiter agent is most useful when it owns research, matching, and intro drafting — while a human owns the identity and final sends. I built and ran one in public as a self-hosted macOS app: 6 releases, 766 commits, one-click setup. The hard part wasn't the LLM; it's the judgment boundary between what the agent may say and what must stay human.
Outbound at enterprise B2B scales badly by hand: every prospect deserves research, but no one has the hours. I kept reaching for automation and found that generic pasta-emails actually burn trust with both sides. So I built a runner.
What it does
- Target discovery — describe the roles you're chasing; it finds matching recruiters and hiring managers.
- Personalized intros — research synthesis + a draft written in your tone, referencing the person, not boilerplate.
- Follow-up cadence — it tracks conversations, remembers who last said what, and cues a sane nudge.
- Human gate — nothing sends itself. Everything you send first then approve.
Design decisions that mattered
- Fail-closed by default. The worst thing an outreach experiment can do is spam. The agent switched to strong approval flows early, which killed the "😳 I sent 400 messages" scenario.
- Quality data > bigger model. Personalization came from a small enrichment step per prospect; the LLM just crafted prose. Cheaper and more accurate than a bigger model guessing.
- Versioned every prompt. 766 fixes lived in changelogs, so each release was reproducible. If an intro style overfit yesterday's niche, you could roll it back.
Where it honestly hits walls
- When the target writes back. The draft must hand off to a human fast — the agent shouldn't "handle" real conversation.
- When volume rises. Once you scale past permission, you're just reinventing spam. We kept it modest on purpose.
- When tone deviates. An LLM writes "too polished." Your own voice wins more read receipts than perfect grammar.
The trade that mattered
The goal is reply rate on qualified personas — not messages blasted. I tracked every preview against its reply share and killed variants that under-indexed.
That same agent building discipline — research signal before outreach — is the whole thesis of my Upcore lead scoring work. If you're building outreach automation, start there.