
MILAI helps German speakers improve their rhetoric skills. It starts with impromptu speeches (Stegreifreden) and runs the whole practice loop: pick a speech structure, draw a topic, prepare for 30 seconds, speak, and get structured feedback on the recording. Between takes you can ask MILAI about technique. For technique questions, MILAI retrieves material from a curated German rhetoric knowledge base and shows its sources.
Many situations ask you to speak without a script: a question in a meeting, a job interview, a pitch, a toast at a family party. Speaking clearly and confidently in those moments helps you get your point across and leaves a strong impression. Speaking well takes practice with feedback, and most people practice alone. A general chatbot does not ground its advice in vetted rhetoric material and cannot judge a recorded speech against a structure. A phone recording lets you listen back, but it gives no structured feedback.
Practice loop. Four speech structures (Fünfsatz, dialectic, problem and solution, PREP), each with a stored example speech. A topic reel draws from a curated catalog. While you speak, a ring shows how close you are to the target time.
Feedback on the real recording. The transcript keeps filler words and marks long pauses. Length, speaking rate and filler words are measured in code. LLM judges check each structural step and rate the content for arguments, relevance and originality. MILAI then writes two or three tips from those results.
Chat with sources. Technique questions are answered from the knowledge base, with the sources as chips under the reply. On wide screens the chat sits beside every page.
Memory with consent. MILAI proposes facts it learns about you. Nothing is stored until you confirm it.
Progress. Streak, record and a calendar of practice days, plus a guided 4-7-8 breathing exercise before a speech.
A LangGraph agent with eleven tools runs behind FastAPI. In a chat turn it chooses whether to call tools or answer directly. The frontend is Flutter web. Supabase provides auth and Postgres with pgvector for the knowledge base search. ElevenLabs Scribe v2 transcribes the takes and GPT-6 Luna via OpenRouter runs the chat. Each user message passes Mistral Moderation before the agent sees it.
The AI parts are measured with automated evaluations, and the paid suite runs in CI on every release tag:
Standard checks: retrieval quality of the knowledge base, tool routing on the real router, and answer quality graded by an LLM judge from a different model family.
Safety: jailbreak and prompt-injection cases check that moderation catches attacks and that replies stay German and on topic.
Transcription: the speech-to-text model was chosen by comparing several setups on three of my own recorded takes with scripted hesitations. Across 11 runs, Scribe v2 found all 33 scripted hesitations.
Model choice: the chat model was picked by running routing, answer-quality and cost benchmarks on four candidate models.
MILAI is still growing. New exercises such as prepared speeches will follow, the impromptu speech practice keeps improving, and the exercises will adapt to each user's experience level. A few surprises are already in the works.
MILAI is live at https://milai-app.de. The app speaks German. During the test phase, only approved email addresses can sign up. To join, email hallo@milai-app.de or message me on LinkedIn.