Project Overview

Hiring teams look at CVs, run a few interviews, make an offer, and then find out three months later the person doesn't fit. I built this platform at brigit.dev as the sole engineer — frontend, backend, database architecture, and infrastructure decisions all mine.

A configurable AI interview engine using structured interview nodes and dynamic conversation branching. Candidate scoring, hiring workflows, post-hire check-ins, and organizational fit assessments. Daily.co for voice, Python for AI services, all wired into the web app.

AI-powered hiring platform with configurable voice interviews, candidate scoring, and post-hire check-ins.

Industry

HR Tech

Services

  • UX/UI Design
  • Web Development
  • Product Strategy

Key Deliverables

  • Responsive Design
  • Custom Development
  • User Experience Improvements

Platform Type

Web Platform

Tech Stack

  • TypeScript
  • Next.js
  • Hono
  • Python
  • Pipecat
  • Daily
  • tRPC
  • PostgreSQL
  • Drizzle ORM

The Challenge

A résumé tells you where someone worked. It doesn't tell you how they talk, how they handle pressure, or whether they'll mesh with the team they're joining.

And once someone's hired, most companies go quiet until something goes wrong. By then it's awkward for everyone.

Approach

I designed a configurable interview engine — structured nodes that branch based on what the candidate actually says, not a fixed script. Candidates go through AI voice interviews early. Hiring managers see scores across communication, collaboration, and organizational fit.

The pipeline tracks people from first application through offer and into the first 90 days. I integrated Pipecat and Daily.co for live voice, Python for evaluation logic, and the web app on Next.js and Hono. Getting all of that to work together in production was most of the job.

The Solution

Hiring managers see where each candidate is: applied, AI screening, team review, final interview, offer — with fit scores at every step. They can listen to transcripts, flag someone for a human review, or move them forward.

Candidates talk to an AI interviewer that asks real questions and follows the conversation where it goes. Not a chatbot reading a script. Structured nodes, dynamic branching, signals a human can look at afterward.

After hire, the product tracks 90-day check-ins so teams notice when someone's struggling early, not at the annual review.

Key Challenges

  • live AI voice that doesn't lag, doesn't break when the connection drops, and produces transcripts managers can actually read

  • interview nodes that branch naturally without the conversation feeling random or broken

  • fit scores that mean something — specific enough that a hiring manager would trust them before making an offer

  • Python AI services, voice APIs, and the web app all talking to each other without fragile handoffs

The Outcome

Teams get a clearer picture of fit before they extend an offer, not just a polished CV and a good first impression.

It's in production. Real hiring runs through it, from first screening to post-hire check-ins.

Context

Built at brigit.dev. I wasn't handed one feature on someone else's product. I built the thing — every layer.

The voice interview engine was the hard part. Structured nodes with dynamic branching in a live conversation? That's where most of the risk was.