ResumeLet's Talk →
FastAPI · LangChain · Voice · 2024

Interview Assistant
Practice out loud. Get structured feedback.

A FastAPI coach that transcribes a self-introduction and runs LangChain prompts for clarity, skills, sentiment, and interview practice chat.

Two routes do the work: /self_intro/ scores a spoken intro, and /interact/ classifies whether the user wants tips or is ready to practice.

FastAPILangChainOpenAIAssemblyAIJSON feedback
View repository →
01 — The Problem

What this build solves.

01
Practice with no signal
Rehearsing an interview alone gives no read on clarity, tone, or what to change.
02
Loose feedback
A free-form chat reply is hard to act on. The scorer should return a fixed shape: clarity, feedback, character, skills, and sentiment.
03
Speech before scoring
A self-intro is spoken. The model needs a transcript before it can judge the content.
04
Tips vs live practice
The same conversation has to tell “give me tips” apart from “I’m ready to speak.”
02 — How It Works

Architecture at a glance.

APIFastAPI

CORS for an Angular client on port 4200. GET /, POST /self_intro/, POST /interact/

SpeechAssemblyAI

The self-intro path transcribes a local audio file, then passes the text into the prompt

PromptsLangChain + OpenAI

Templates for intro scoring, intent classification, tips, and a practice conversation

RouterInteract flow

Classify the query, then return chat tips or continue practice. Replies are parsed as JSON

LayerTechnologyRole
APIFastAPI / UvicornRoutes and CORS
LLMLangChain + OpenAIPrompt chains and JSON-shaped replies
SpeechAssemblyAIIntro audio to text
SchemaPydanticRequest body for the query
ClientAngular submoduleUI pointer; not vendored in this repo
03 — Highlights

What ships today.

POST /self_intro/ returns structured intro feedback
POST /interact/ splits tips from live practice
LangChain prompt chains with a string output parser
AssemblyAI speech-to-text on the intro path
Pydantic request body (query, 1000 character cap)
CORS opened for an Angular client on port 4200
04 — Status

Build status — API in place.

✓
Completed
Self-intro and interact routes
✓
Completed
Prompts for scoring, classification, tips, and conversation
✓
Completed
AssemblyAI transcription helper
○
Open
Angular UI is a git submodule and is not in the public tree
○
Open
Intro transcription still points at a local audio path
Contents