Work/2026
Conversation Analysis for Parents
A psychologist wanted parents to understand their own conversations with their teenagers. You record a conversation; the app separates who said what, finds the moments that mattered, and suggests one evidence-based technique to try — always quoting the actual recording.
- Role
- Sole engineer, design through deployment
- Client
- Child psychologist, private contract
- Built with
- Next.js · FastAPI · OpenAI · Speaker diarisation · AWS · CI/CD
- evidence-based parent techniques
- 50
- psychology concepts, each cited
- 19
- quality questions every report must pass
- 12
- recordings supported
- 1 hour

The problem
Parents leave a difficult conversation knowing it went badly but not why. Generic parenting advice does not help, because it was not written about their conversation.
The guiding rule for the whole product came from that: never produce advice that could have been written without hearing the recording.
Why the first version had to be rebuilt
The first build used a specialist speech API plus keyword rules to spot communication patterns. It tested fine on sample audio.
Then it was run on a real, calm conversation. The transcription hallucinated profanity that was never spoken. The keyword rules flagged the word "whatever" as emotional withdrawal. The generated insights described a conflict the recording did not contain.
That is the failure mode that matters in this product. A tool that invents conflict between a parent and their child is worse than no tool. Transcription moved to a different model and pattern detection moved from keyword rules to a language model working over the real transcript, with every claim tied back to a quote.
Grounded in real psychology, not AI opinion
The app is not allowed to invent advice. Every suggestion comes from a library of 50 parent techniques, built to the psychologist's specification and drawn from CBT, DBT, parent management training, motivational interviewing, and family repair and de-escalation work. Each records when to use it, when not to, and how strong the evidence behind it is.
When the app names what happened in a conversation, it uses one of 19 psychology concepts, each credited to where it comes from: cognitive distortions from CBT (Beck and Burns), DBT (Linehan), Gottman's family interaction research, Patterson's and Kazdin's parent training, self-determination theory and Tronick's attachment research. Their citations are real and checked automatically. Parents see plain language; the clinical labels stay internal.
The model proposes and the code verifies. Quotes are pulled from the real transcript, never written by the model, and any technique or concept that is not in the library is dropped. Before a parent sees a report, a second, different model reviews it against the psychologist's own 12 quality questions. A report that fails is rewritten, and any section that still fails is removed.
Making long recordings survive the real world
Support went from short clips to full hour-long conversations. That broke an assumption nobody had tested: the upload request stayed open for the entire job, and a 42-minute analysis outlived both the browser's patience and the proxy's timeout. The work completed on the server and was saved correctly — but the page reported failure.
The fix was to stop treating analysis as a request. Uploads now hand off to background processing with real progress, transcription runs in parallel across segments, each segment retries independently, and a failed view can retry without re-uploading the audio. A duplicate guard stops the same recording being paid for twice.