Skip to content
Whyphy Technologies
All work
Hiring & education

Interviewa

AI interviewing platform

Interviewa runs the first-round interview so a hiring team doesn't have to. A candidate joins a live video call with an AI interviewer, and what comes back isn't a recording to sit through, it's a scored, evidence-backed report against the rubric that organisation already hires by. One codebase serves three product lines: hiring, education admissions, and interview training.

Interviewa, AI interviewing platform
Our role
Product engineering · AI systems · Real-time infrastructure · Platform & public API
Platforms
Web · Public REST API
Stack
Next.js 16React 19TypeScriptSupabasePostgreSQLpgvectorOpenAITavusDaily.coDeepgramElevenLabsStripeAWS S3Vercel

The problem

Problem.

First-round screening is the part of hiring that scales worst: the same conversation, over and over, held by the people whose time is most expensive. Automating it is easy to do badly. A model that invents an answer the candidate never gave, or scores confident nonsense, is worse than no screening at all. The platform had to be fast enough to hold a live conversation and strict enough that a recruiter could defend every score in front of the person it rejected.

What we built

Solutions.

Not a feature list, the pieces that had to exist for the product to do what it claims.

01

An interview that actually converses

Candidates join a WebRTC room and talk to an AI interviewer in real time, with live captions and cloud recording. Voice-activity detection gates the outbound audio, so a colleague talking in the next room never reaches the interviewer or lands in the transcript.

02

Rubrics each organisation defines

Weighted scoring templates configured in the dashboard rather than hard-coded. Each dimension is scored separately and rolled into a weighted verdict, so a team can see which dimension moved the number.

03

Interviewer personas with guardrails

Organisations configure the interviewer's persona and the boundaries it holds to. Prompts are versioned and logged, so a change in how the AI behaves is auditable after the fact rather than a mystery.

04

CV parsing and candidate search in plain language

CVs are parsed, scored against the job, and embedded. Recruiters search in plain English: a parser turns the query into filters, then embeddings and a match ranker order the results.

05

Three products from one engine

Hiring, education admissions, and a candidate-facing training mode where people practise interviews and get coached. They share the interview engine and diverge only where the domain genuinely differs.

06

A partner API and a deep ATS integration

A documented public REST API with hashed keys, per-key rate limits, usage logging and outbound webhooks. The Workable integration goes further: job and candidate import, incremental enrichment, and write-back of interview results into Workable's own custom fields.

07

Billing metered on interview minutes

A token wallet per organisation, deducted by interview duration against Stripe plans, with a ledger behind it so any balance can be explained line by line.

08

Reports, redaction and deletion

PDF interview reports for recruiters, plus redaction paths and scheduled account deletion, the unglamorous half of handling candidate data.

They understood the thing that makes or breaks an AI interviewer, that it cannot be allowed to score an answer the candidate never gave. The grounding guardrail they built is why our clients can defend every result to the person it rejected.
InterviewaFounder, Interviewa
Under the hood

The parts that were genuinely hard.

01

The guard that refuses to believe the model

The most important component in the system does nothing except say no. Before an extracted answer can be scored, its quote has to be n-gram grounded in the transcript, four-grams, at least half matching, checked against the candidate's turns only, after normalising fillers and stutters. It kills two failure modes at once: an answer the model invented, and the interviewer's own question being scored as though the candidate had said it.

02

A chain of stages, not one prompt

Analysis runs as a pipeline: pull direct answers, search for indirect ones, compose prior mentions, detect which questions were actually asked, score each dimension, weight the verdict, merge the visual analysis, then match evidence against the recruiter's stated priorities. Each stage tracks its own model and cost, and a completion guard asserts nothing came back truncated.

03

Two voice pipelines, because they're two different problems

The interview runs on a conversational-video service. The coaching flows needed tighter control, so they run their own: browser audio streamed to a speech-to-text service over a WebSocket with keepalive and endpointing, and synthesis that returns per-character alignments converted to word timings for synced playback. Mobile forced its own concessions: timeslice tuning and iOS mime-type fallbacks.

04

Recovery for calls that don't end cleanly

Live video fails in ways a request-and-response app never does. A sweep every five minutes finds interviews stuck in progress, re-fetches their transcript, recording and analysis, and re-triggers the pipeline. Heartbeats and run-state tracking make a stalled analysis visible rather than silently missing.

05

Multi-tenancy that survives the service role

Row-level security covers the tenant tables, but the service-role client bypasses RLS by design, so every query through it carries a mandated organisation filter as a second layer. Super-admins act inside a tenant through an explicit impersonation path rather than an implicit one.

Got something like Interviewa in mind?

Tell us where your business is stuck. We'll show you what an AI-native team can ship, and how fast.