chern0.dev
client · Live

HireMike

Haris Muhibić wrote the stack decision and the first version of HireMike, an AI voice-interview platform for small businesses, built for InProd.

Role
Founding architect and engineer (contract)
When
March – August 2026
Links
hiremike.cc
Stack
PythonFastAPILiveKit AgentsDeepgramOpenAICartesiaNext.jsPostgresCeleryKubernetes

The problem

Small businesses that hire one to five people a year can’t afford enterprise interview tools, and they don’t have time to run first-round interviews themselves. HireMike runs a live, spoken first interview, then screens and scores candidates against criteria the employer sets.

Choosing the stack

Before writing code I compared four voice-agent approaches: a self-hosted video and voice bridge, LiveKit Agents, Daily with Pipecat, and an all-in-one speech-to-speech API. I scored them on cost per interview minute at small-business volumes, delivery risk, latency, data residency, operations and lock-in. The cascaded pipeline (speech-to-text, then LLM, then text-to-speech) cost well under half as much per minute as speech-to-speech.

What I built

  • The first commit and the core: session orchestration, the real-time voice gateway, artifact storage and post-processing.
  • The candidate interview front end.
  • In one long day, five phases: Postgres and auth, the employer dashboard, job management, the candidate portal, CV screening, assessment, billing events and scheduling.
  • CV screening: structured extraction, then per-criterion scoring, with the reasoning shown for each score.
  • Later: an interviewer whose persona, voice and avatar the employer configures. Settings are snapshotted per interview so they stay consistent across reconnects. Also company-wide 2FA policies and passkeys.

Hardening

I treated CVs, transcripts and model output as untrusted input:

  • Untrusted input is clearly fenced off, and control tokens are removed from candidate speech.
  • Criterion scores are clamped, and totals are recomputed from the employer’s configuration, never trusted from the model.
  • Interviews can be resumed after a disconnect, with a cap on attempts.
  • Background jobs are replay-safe, so a retry never bills twice or sends a duplicate invite.

Credit

The evaluation and simulation harness, the conduct policy and the animated avatar were built by other engineers on the team.

Building something similar? Book a 30-minute call or email haris@chern0.dev.

← All work