Inspiration

We wanted to make early-stage hiring faster, fairer, and less stressful for both candidates and recruiters. The idea was to keep the process structured while still feeling conversational, especially for voice interviews with personnalized questions and follow-ups.

What it does

HappyHR lets candidates apply to role-specific job posts, upload a PDF CV, and get screened automatically. If they pass, they receive an email invite to a live AI voice interview agent with an avatar. Recruiters then see structured scoring made by an agent, transcript summaries, strengths/weaknesses, and can send accept/reject decisions from a dashboard.

How we built it

We built a FastAPI + SQLAlchemy + SQLite backend and a Next.js/React frontend. CV text is extracted with PyMuPDF, then screened with a hybrid lexical + embedding matcher (spaCy + SentenceTransformers). Live interviews run through a WebSocket relay (using gpt realtime agent) with tool calls for per-question assessment and interview termination, then scored with a memory-first pipeline plus speech-to-text agent fallback.

Challenges we ran into

The biggest challenge was live interview orchestration: we tried Gemini Live, but it did not integrate well for function calling in turn-based reaction. After long debugging we switched the whole pipeline to OAI gpt realtime agent. We also had to handle real-time audio interruption, echo control, and reliable fallback paths when live memory or transcription quality was insufficient.

Accomplishments that we're proud of

We shipped a complete end-to-end recruiting loop: apply, screen, interview, score, and decision email. We’re proud of the structured live-memory scoring design, fallback robustness, and configurable job templates (keywords, mandatory questions, thresholds, scoring weights). We're especially proud of the context-aware conversational agent that ask questions based on CV and recruiters' needs with follow-ups.

What we learned

We learned that real-time AI interviews need strict prompts, explicit tool schemas, and defensive fallbacks to stay reliable in production-like conditions. We also learned that hybrid CV screening (lexical + semantic) is much stronger than plain keyword matching.

What's next for HappyHR

Next, we want to add recruiter calibration analytics, multilingual interviewing, and stronger fairness/consistency checks. We also plan to improve deployment readiness (auth/roles, monitoring, cloud infra) and make live-model routing more provider-agnostic.

Built With

Share this project:

Updates

Submission history