Building an AI Interviewer Solo: Stack, Costs, Lessons
Method: product behavior was checked against the live implementation; market and regulatory claims use the linked sources below. Dates change only after claims are re-verified.
I built Gaugely — a voice AI that ranks CVs, runs structured interviews, and drafts evidence-backed scorecards — as a solo founder, with AI coding agents writing a large share of the code. The architecture that made it possible fits in one sentence: code guarantees the interview; the model only phrases and judges.
What I built, and how big “solo” really is
Gaugely is an AI hiring team for recruiters: it ranks CVs against a rubric, runs behavioral and live-coding interviews in one voice call, and drafts a scorecard where every score quotes the candidate’s actual answer. A named human reviews the evidence and makes the decision — always.
“Solo” needs a disclosure in 2026: one person owns every decision here, but AI coding agents wrote a large share of the code. That changes what solo means. The bottleneck is no longer typing speed — it is architecture, verification, and knowing which of the agent’s confident answers to distrust. The judgment stayed the whole job; the labor compressed.
The one architecture decision that mattered
A voice demo is a weekend project now. A trustworthy interview is not — and the difference is everything a language model will not reliably do: watch the clock, ask every required question, respect consent, keep an audit trail. So the core rule of the system is a split: the orchestrator owns what must be guaranteed; the model owns only judgment.
Concretely, the model cannot skip a required question, because advancing the interview is a tool call the orchestrator validates — the model asks to move on; code decides whether it may. “Not asked” can never be scored like “answered badly,” because coverage is state the system tracks, not something the model remembers.
| Guaranteed by code | Judged by the model |
|---|---|
| The clock, and time left per stage | How to phrase the next scripted question |
| Question coverage — every required question asked | When a follow-up is worth the time |
| Consent before recording, disclosure before AI | What a candidate’s answer actually demonstrates |
| The audit trail: transcripts, scores, evidence quotes | Draft scores — each one carrying a quoted answer |
What does the stack look like — and cost?
Two runtimes, one shared database, and everything external behind a swappable port. The web app is Next.js; the interviewer is a persistent Python worker on LiveKit Agents, because live audio needs a connection that outlives a request. LiveKit carries realtime audio and control messages, Postgres carries durable state, and an authenticated completion webhook triggers web-side follow-up.
Every provider was chosen with the same test: best free tier or cheapest unit price today, replaceable tomorrow without a rewrite. That is what a port means in practice — when a model provider deprecates or a price moves, the swap is a config change, not a refactor. Marginal cost per interview lands in cents: speech-to-text lists around $0.0077 per minute (Deepgram Nova-3, late-2025 pricing), and the LLM and TTS legs add fractions more.
runtimes — a Next.js app and a persistent Python voice worker
GAUGELY ARCHITECTURE
egress fees on interview recordings
CLOUDFLARE R2
per minute of speech-to-text at list price (late-2025)
DEEPGRAM NOVA-3
EU high-risk deadline the architecture was designed for
COUNCIL OF THE EU
- →Voice loop: Deepgram speech-to-text, Groq or optional Mistral for the interviewer LLM, Deepgram text-to-speech for English or Azure Speech for supported multilingual voices, and Silero for voice-activity detection.
- →Platform: LiveKit Cloud for audio, Neon Postgres, Cloudflare R2 recordings, Azure Container Apps hosting.
- →Business: Polar as merchant of record, Resend for email, Better Auth self-hosted — the boring layer that makes it a product, not a demo.
Three production failures worth blogging
The demos never show what breaks, so here is my incident list. Each of these cost real hours and changed the design.
- →Deploys nearly killed live interviews. Azure Container Apps hard-caps graceful shutdown at ten minutes — the hour-long value in its docs turns out to be a probe field, not termination grace. A mid-interview deploy would have cut the call; the worker now drains inside that cap before a new version takes over.
- →Recording failures were silent. Managed video platforms meter recording transcode, and when a tier’s cap is hit, recordings just stop. Failures now surface on an admin dashboard instead of vanishing — the fix was observability, not budget.
- →Completion-based billing was a free-lunch bug. Interviews originally debited a team’s budget on completion — so a session that never finished never cost anything, an open invitation to drain paid capacity. Billing moved to interview start, with rate limits on top.
The biggest rewrite: my agent was a scripted stopwatch
Version one enforced structure the crude way: fixed questions, fixed timings, the model doing little more than rephrasing a script. Auditable — and robotic. Candidates would ask to clarify something and the agent would plow forward, because the script said so. Structure without conversation is just a form with a voice.
The redesign keeps every guarantee in code but hands the conversation to the model through gated tools. It can acknowledge, re-ask, follow up, or repeat a question a candidate missed — but moving to the next required question is a tool call the orchestrator validates against coverage and the clock. I am shipping this in phases, and the early lesson is blunt: the intelligence was never the hard part; the guardrails were.
Compliance shaped the product more than the demo did
AI used for recruitment is classified high-risk under the EU AI Act, with obligations applying from 2 December 2027. I treated that as a design input, not future paperwork: consent before recording, disclosure before any AI involvement, no score threshold that auto-rejects anyone, and a named human decision-maker on every hire.
The market enforces this before any regulator does. One payments provider declined us outright over the EU risk classification while I was setting up billing — the bar is real even for a tiny company. And candidates vote too: in 2026, Greenhouse found 38% of job seekers had walked away over a required AI interview, while only 19% wanted less AI in hiring. Transparent AI with a human decision is not a legal tax; it is the product.
What would I tell another solo builder?
Five things I would repeat, and one I would not.
- →Buy the real-time infrastructure. WebRTC at production quality is its own company; LiveKit-class platforms are the correct make-vs-buy call for one person.
- →Make every external service a port. Free tiers got this to market at near-zero infra cost, and no provider can hold the architecture hostage.
- →Design the failure states first. Dropped calls, half-finished interviews, evasive answers — if those states are not explicit, they become silent data loss.
- →Let AI write code, never conclusions. Agents produced huge amounts of working code and several confidently wrong designs; the verification loop is the founder’s actual job.
- →Put the compliance bar in the architecture early — retrofitting consent, audit trails, and human review into a shipped product is the expensive version.
- →The one I would skip: building the scripted version first. Structure and conversation were never actually in tension; I just assumed they were.
One founder, two runtimes, $0-egress recordings, and an EU high-risk compliance bar. The architecture, stack choices, and production failures behind Gaugely.
Questions people ask
Can one person build an AI interviewer in 2026?
Yes, with two qualifiers: AI coding agents compress the labor dramatically, and the founder still owns architecture, verification, and every product judgment. The voice demo takes a weekend; the trustworthy version — enforced question coverage, consent, audit trails, evidence-backed scoring — is where the year goes.
What stack do you need for a production voice AI agent?
A persistent worker for the audio loop (Gaugely uses Python on LiveKit Agents), Deepgram speech-to-text, Groq or optional Mistral for the interviewer LLM, Deepgram English or Azure multilingual text-to-speech, VAD (Silero), and ordinary web infrastructure — Next.js, Postgres, object storage — around it.
How much does it cost to run an AI interview?
Marginal cost lands in cents per interview: speech-to-text lists around $0.0077 per minute (Deepgram Nova-3, late-2025 pricing) and the LLM and TTS legs add fractions more at current unit prices. The real costs are elsewhere — real-time infrastructure tiers, recording transcode limits, and the engineering time behind reliability.
How do you make an AI interviewer legally safe to use?
Build to the EU AI Act’s high-risk bar even if you are not in the EU: disclosure before any AI involvement, consent before recording, an audit trail, no automatic rejection at any score threshold, and a named human making every hiring decision. High-risk obligations for recruiting AI apply from 2 December 2027.