Building an AI-Powered Interview Coach with Comprehensive Evaluation Framework

product_talk · Education · 2024 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Educational coaching and LLM evaluation

Product Talk needed an AI interview coach that could give students useful feedback on customer-interview transcripts while building enough evaluation confidence to deploy the coach to real course students.

Constraints:

Architecture

Students upload SRT interview transcripts as homework. The interview coach analyzes the transcript and sends an email with scores, excerpts, and tips across four dimensions: story-based opening question, setting the scene, building the timeline, and redirecting generalizations. The product was built alongside an evaluation stack containing human labels, code assertions, and LLM-as-judge evals, with production traces compared against human judgment and eval code moved from notebooks into the production repository.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  course-platform[Course Platform] --> interview-coach[Interview Coach]
  interview-coach --> feedback-email[Feedback Email]
  interview-coach --> eval-suite[Eval Suite]
  human-labels[Human Labels] --> eval-suite[Eval Suite]
  eval-suite --> analysis-notebook[Analysis Notebook]
  production-repository[Production Repository] --> eval-suite[Eval Suite]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Course Platform Receives student transcript homework uploads. Interview Coach
Interview Coach Analyzes transcripts and generates rubric-based coaching feedback. Course Platform, Feedback Email, Eval Suite
Feedback Email Student-facing report with scores, excerpts, and improvement tips. Interview Coach
Human Labels Manual annotations and trace labels used as the reference for evaluation alignment. Eval Suite
Eval Suite Dataset evals, code assertions, and LLM-as-judge evals that detect coach failures. Interview Coach, Human Labels, Analysis Notebook
Analysis Notebook Runs evals and visualizes dev/test and production trace results without duplicating eval code. Eval Suite
Production Repository Holds eval code so it can run in dev and production environments. Eval Suite

Data flow

A student uploads an SRT transcript to the course platform. The coach produces a detailed feedback email containing rubric scores, transcript excerpts, and coaching tips. Production traces are annotated by humans, evaluated by code and LLM judges, visualized in notebooks, and eventually run from the development and production codebase as guardrails.

“That file gets uploaded to the interview coach. So students submit it in our course platform as homework. And then pretty quickly afterwards, they get an email and the email is their very detailed interview coach feedback. This is actually a real response. This is”transcript, stated
“built several e AI evals. I have data set evals. I have code evals and I have LLM as judge evals and I have done a ridiculous amount of human human labeling. And this definition here that you see here is actually going to be published as part of my August 20th blog”transcript, stated

Why this architecture

The coach architecture follows the pedagogy: students practice, receive rubric-specific feedback, and improve through deliberate practice. The eval architecture exists because model, prompt, and temperature changes require a fast feedback loop grounded in human labels before release.

“deliberate practice is this idea of the way that we build skill is we practice it and then we get feedback on that practice. And the feedback is really critical. And so in class, our we give students a rubric so they can practice together and then they can give feedback”transcript, implied
“fast feedback loop, right? I can make changes. I can run my evals. I can evaluate the impact. I can decide whether or not to release. So, especially as a discovery coach that's all about fast feedback loops, I love this process. Now I can make a change and I can confidently decide um is this”transcript, stated

Models used: LLM-as-judge evaluators · AI interview coach model

Scale

Alternatives considered (roads not taken)

Rely on peer feedback alone.

Rejected because: Students are practicing but are not yet expert interviewers.

“according to the rubric, but our students aren't experts in interviewing yet. And deliberate practice really requires expert feedback. And so one of the questions I started to noodle on in April was, can we help students give each other better feedback on their”transcript, stated

Keep evals only in notebooks.

Rejected because: Production guardrails require eval code in the repo and deployed environments.

“guard rails. In order to do that, I need my eval code to be in my repo in like deployed in my dev and prod environments. And so now all my eval code is part of my normal code repository and I'm using my notebook for data analysis. So let me just quickly walk through what that looks like and”transcript, stated

Depend on one type of evaluation.

Rejected because: The system combines human evals, code assertions, and LLM judges because each catches different issues.

“We have human evals where humans can define whether it's this um open AI definition of like human labeled sets. We can do it in code”transcript, stated

Patterns

eval-driven-development (evaluation)

Product Talk used evals to decide whether coach, prompt, model, or temperature changes improved the product before release.

“How do I know if my model prompt temperature changes are having any impact? I can now AB test them.”transcript, stated

llm-as-judge (evaluation)

The evaluation setup includes LLM judges that are compared against human labels.

“Now what I want is I want to align my LLM as judges with my human labeling.”transcript, stated

human-in-the-loop-gate (quality-control)

The coach remains transparent about beta status and every outgoing email is reviewed during error analysis.

“I still review literally every single email that goes out.”transcript, stated

Tradeoffs

Evaluation workflow

Chose Small dev set plus larger pre-release test set over Run all transcripts through every eval during iteration.

Rationale: The small set keeps iteration practical while the larger set gives release confidence.

“while I'm developing I work on a small set and then before I release I run on a large”transcript, stated

Eval implementation location

Chose Production repo for eval code and notebook for analysis over Duplicate eval code inside notebooks.

Rationale: This allows production guardrails without losing notebook-based visualization.

“now my evals need to be in my production repo, my like regular code repo and I need but I want my notebook to be able to run evals.”transcript, stated

Beta transparency

Chose Tell students feedback is AI-generated and manually review emails over Present the coach as fully reliable automation.

Rationale: Known issues remained, and review was part of error analysis.

“this feedback is coming from our AI coach. We're being very transparent about that. A big part of that reason is we are in beta.”transcript, stated

Gotchas (what bit them)

Eval failures can reveal product bugs rather than model errors.

Root cause: The coach's own response parsing accidentally included questions that were examples of good questions.

Resolution: Use eval dashboards to inspect failures and trace them back to core-system bugs.

“a lot of these failures weren't actually failures and so this helped me find some like bugs in my core system”transcript, stated

Human intuition may be less precise than a well-specified deterministic eval.

Root cause: Writing the eval forced clearer rubric definitions than manual labeling.

Resolution: Compare eval output to human labels but also refine the rubric when the eval is more consistent.

“my deterministic evaluation was better than my human intuition.”transcript, stated

Large transcripts make exhaustive eval runs expensive.

Root cause: Interview transcripts are long and repeated LLM evaluation is costly.

Resolution: Use a small dev set during development and a larger test set before release.

“interview transcripts are big and running evals is expensive.”transcript, stated

Evaluation

The project itself is evaluation-centered: human annotations create labels, code assertions catch deterministic errors, LLM judges evaluate qualitative failures, scores compare eval output against human labels, and production traces are rerun against evals before changes ship.

Metrics: Alignment with human labels · True positives and false positives · Eval failure counts · Problematic question categories · Dev-set and test-set performance · Production trace guardrail results

“I labeled all these traces. That's that was part of my error analysis.”transcript, stated
“I can now run my traces against my evals and get a score.”transcript, stated

Outcomes

The source describes four months of work, four feedback dimensions, a 25-transcript dev set, larger test set, production traces, and course cohorts of 20-50 students.

“doing this process is actually helping me improve my course and helping me improve teaching these concepts.”transcript, stated
“all my eval code is part of my normal code repository and I'm using my notebook for data analysis.”transcript, stated