JADE LEE.
← ALL PROJECTS · /01 · AI MOCK INTERVIEW COACH

1ST PLACE · UBC CLOUD INNOVATION CENTRE · AUG 2026

AI Mock Interview Coach.

Interview practice that talks back — a hands-free, speech-to-speech coach powered by Amazon Nova 2 Sonic, built with four teammates over one hackathon and refined ever since.

01 · THE PROBLEM

Interview prep is either a mirror or a friend's afternoon. Neither gives you structured feedback on the answers you actually gave — what you covered, what you missed, and what to say differently next time.

02 · HOW IT WORKS

A hands-free, speech-to-speech web app running on three agents.

Analyst OPENAI GPT OSS 120B

Reads the resume against the job description and builds the brief the other two work from.

Interviewer NOVA 2 SONIC · BEDROCK AGENTCORE

Runs the live, hands-free voice interview in real time.

Evaluator OPENAI GPT OSS 120B

Scores the answers and generates the final feedback report.

03 · KEY FEATURES
01

Resume and job description upload

The Analyst reads both and builds a tailored brief, so every question and every score is grounded in your actual background and the actual posting.

02

Real-time, hands-free practice

Speech to speech. No typing, no clicking through — the conversation runs the way a real call does.

03

Two interview modes

Choose how much support you want.

Practice Mode — guidance tied to your own experiences as you answer
Live Mode — a realistic virtual interview, start to finish, no help
04

Personalized feedback report

Question-level scoring rather than one vague summary — plus keyword coverage showing which terms from the posting you hit and which you never mentioned, and concrete guidance on what to say differently next time.

05

Schema-validated output

The Evaluator returns structured JSON, so the report renders reliably instead of hoping the model formatted its prose correctly.

04 · WHAT I OWNED

Designed the Evaluator — its prompt, output schema, and scoring logic.

Implemented it as an AWS Lambda function invoking the model through Amazon Bedrock.

Built the frontend feedback report page and wired the Evaluator's schema-validated output into it.

Proposed the three-agent architecture and documented it for spec-driven development in Kiro, which carried the workflow throughout.

05 · THE HARD PART

Turn-taking

MINE

The voice model would cut in and grab the turn before the candidate had finished answering. Lowering the endpointing sensitivity and reshaping the prompt got us closer.

But this is a genuinely hard problem for real-time speech models, and it is still the piece I am most eager to keep improving.

Wiring the agents into one pipeline

STEPHANIE XUE

Getting three agents to act as a single system meant designing how they pass structured data to each other, keeping the audio stream synchronized with the transcript, and holding every piece together in one working pipeline.

Stephanie built this integration layer. It is the part users never see and the part the whole thing rests on — when it slips, the interview stops feeling like a conversation.

06 · WHAT'S NEXT

A judge agent on the feedback side. Instead of sending generated feedback straight to the user, a judge would verify it first and send it back for another pass until it meets the bar.

That self-correcting design is what got me into multi-agent systems in the first place — now I want to apply it here to raise the quality of the reports.

BUILD NOTE · IN MY OWN WORDS ORIGINALLY POSTED ON LINKEDIN

We won 1st place at the UBC Cloud Innovation Centre × Amazon Web Services Hackathon.

This story actually started back in May. I joined my first CIC hackathon and used AWS for the first time. We didn't win, but I really wanted to learn this and put it to use. Around then I got into multi-agent systems through Hyunuk Lim's workshop, and in July I learned Kiro at the AWS ReachBack event in Amazon's Vancouver office. Then in August, ideas I shared based on what I'd been learning became part of what our team built together, and it was really rewarding.

It's called AI Mock Interview Coach, a speech-to-speech interview prep web app powered by Amazon Nova 2 Sonic. It uses three AI agents — the Analyst reads the resume and job description (OpenAI GPT OSS 120B), the Interviewer runs the live hands-free voice interview (Amazon Nova 2 Sonic on Amazon Bedrock AgentCore), and the Evaluator scores the answers and generates the final feedback report (OpenAI GPT OSS 120B).

I worked mainly on the Evaluator, designing its prompt, output schema, and scoring logic, then implementing it as an AWS Lambda function that invokes the model through Amazon Bedrock. I also built the frontend feedback page. Kiro's spec-driven workflow was a big help throughout.

After the hackathon, as we kept refining the app, the problem I got most drawn into was turn-taking. The voice model would cut in and grab the turn before the candidate had even finished answering. Lowering the endpointing sensitivity and reshaping the prompt got us closer, but I also learned this is a genuinely hard problem for real-time speech models, and it's still the piece I'm most eager to keep improving.

Looking further ahead, I want to add a judge agent on the feedback side. Instead of sending the generated feedback straight to the user, a judge would verify it first and send it back for another pass until it meets the bar. That self-correcting, judge-based design is what first got me into multi-agent systems at Hyunuk Lim's workshop, and now I want to apply it here to raise the quality of our feedback reports.

So grateful to have built this with my amazing teammates Stephanie Xue, Hoonji Choi, Jena Chang, and Jianding Bai. Thank you to our mentors Ayush Srihari, Hrishi Logani, Jovan, and Rajrupa Sanyal, who were supportive every step of the way. Thanks also to our judges Christian Castro, Katja Krohn, Liana Leung, Anjali B., and Scott M., along with the UBC Cloud Innovation Centre × AWS team for creating the space to build and learn.