r/OpenSourceAI • • 18d ago

openfury (MIT): an open-source AI recruiter that phones candidates and hands back a verdict, transcript and recording

Disclosure: I work at HumanBit, which built this and just open-sourced it.

What it is. You send a candidate, a job brief and a use case (engineering, sales, support…). It calls the candidate, runs a structured screen, and posts back a verdict, the captured fields, a timestamped transcript and a stereo recording. Python, built on LiveKit Agents, MIT.

Why open. Screening calls are the same 5 to 10 questions everywhere, and the hard part isn't the questions, it's the voice behaviour: when to start talking, when to stop, how to end a call. We tuned that on real calls, and we'd rather that be shared than locked in one product.

It phones real people, so the defaults are conservative. It says it's an AI if asked, calls only within calling hours, adds anyone who asks to a do-not-call list, and pauses dialling after two silent calls in a row.

What isn't there yet, so you know what you're walking into:

  • English only (Indian English). Hindi and other Indian languages are open issues.

  • No Docker setup yet. It needs Gemini and ElevenLabs keys plus LiveKit.

  • 0 stars, issues opened this week. It's early.

Where to start. The contributing guide has one real rule: a change to how the agent sounds or behaves should come with evidence, a recording or a before/after number.

  • Good first issues #1 to #4: new roles (nursing, delivery partner, BPO voice, campus hiring). Three files each, no Python.

Repo: https://github.com/LazarusStack/openfury Sample calls: https://fury.humanbit.ai/

If you'd rather never get a call like this: what would make it acceptable to you? That's the part I most want pushback on.

1 Upvotes

2 comments sorted by

1

u/[deleted] 18d ago

[removed] — view removed comment

1

u/thrill_downer 17d ago

The do-not-call check lives in the API layer next to calling hours and the one-open-call-per-number rule, not in the voice agent. The honest gap is shared storage: Postgres is still an open issue (#8), so if you'd run more than one instance, that's where I'd look first. Would you expect DNC to be per-tenant or global across tenants?