banter
Speak a language out loud with a conversation partner who answers back — then get corrections quoted in your own words.

Overview
Pick a scene (ordering dinner, a job interview, haggling at a market), a language (Spanish, French, German, Italian or Japanese) and a difficulty, and hold a real spoken conversation with an animated partner (a photoreal video partner on the Studio plan) who stays in character, can be interrupted mid-sentence, and wraps the scene up as the clock runs down. A live coach flags lines that didn't land while they can still be retried, and every session ends in a 0–100 Banter Score with a CEFR band and corrections quoted in the learner's own words. The first 3-minute conversation is free; Practice and Studio plans are sold through Stripe.
The problem
Language apps drill vocabulary, but fluency comes from speaking under the mild pressure of a real exchange — and most learners have nobody to practise with, and no honest measure of whether they're improving.
The approach
Every vendor sits behind a provider interface with a mock, so the whole product runs with no keys at all. In production the browser streams audio straight to Amazon Transcribe and, on the Studio plan, video from Anam, using short-lived credentials minted per session behind auth and quota checks; Claude on Bedrock drives the persona, a separate live coach, and the scoring. The Banter Score is a weighted formula over named sub-scores, stored with its version, so a learner's number is reproducible and comparable week to week. Minutes are reserved atomically in Aurora before any credential is minted, and both the speech and avatar vendors cut a session off at the plan's cap themselves.
Highlights
- Browser-to-vendor media path: streaming speech-to-text and a WebRTC video avatar, with no vendor key ever reaching the browser
- Claude Haiku 4.5 plays the persona and the live coach; Claude Opus 4.5 scores the conversation
- An explicit, versioned scoring formula — the model supplies judgement, never the arithmetic
- Vendor-enforced session caps on both speech and avatar, so a runaway client can't run up the bill
- Atomic minute reservations in Postgres, proven by an integration test that races concurrent sessions
Policies
Each product's own terms govern its use and any purchase. All Idea Engine LLC policies
Tech stack
Want to talk through how this was built?
I build and ship production apps end-to-end. Happy to dig into the architecture, the tradeoffs, or your next project.