Inspiration

We set out to help people with speech difficulties, like dysarthria, feel more confident in conversations. As we dug in, we realized that reliably interpreting impaired speech is still an open research problem, and we only had simulated speech to test with. We didn’t want to ship something that guesses at what real people mean.

What was solid was the part we could measure directly: pace, pauses, filler words, volume, and pitch. And the need behind it, a safe place to practice and honest feedback, is just as real for speech and debate students. They get nervous, they can’t always find a partner for another rep, and a coach can’t be there for every practice round. So we built the practice partner.

What it does

Argument Gym is a practice platform for speakers and debaters with two modes:

AI Sparring. Pick a motion and a side. An AI opponent speaks its challenge out loud, you record a timed response, and Claude grades your argument and generates a follow-up that targets your weakest point. After the last round you get a coaching recap with your biggest improvement, a next drill, and a next goal. Speaking Coach. Get a random topic from a category, give a timed speech, and receive a report on your delivery.

Both modes measure how you sound, not just what you say: pace excluding pauses, filler words per minute, volume relative to a calibrated baseline, and pitch variation. A progress dashboard tracks delivery and argument-rubric scores (claim, reasoning, evidence, responsiveness, organization) over time. Privacy is the default: transcripts aren’t saved unless you opt in.

How we built it

Python + Streamlit for the app and dashboard. Cartesia Ink-Whisper streaming speech-to-text over WebSocket. Its word-level timestamps are what let us compute pace excluding pauses. Cartesia text-to-speech gives the debate opponent a voice, so voice is central to the experience. Claude (Anthropic API) for argument grading, follow-up challenges, final recaps, and session reports. A custom metrics engine (metrics.py) that turns the audio stream and timestamps into pace, volume, filler, and pitch measurements, with a mic calibration step so volume is relative to each user. Local JSON history with download and delete controls.

Challenges we ran into

Pivoting mid-hackathon. Our original idea hit a research-level wall, and our team shrank, so we dropped the Raspberry Pi hardware plan and rebuilt around what we could finish well. Real-time streaming tradeoffs. Cartesia’s endpoint only returns text when asked to finalize, so shorter intervals mean faster feedback but a higher chance of splitting words. No confidence score from the speech-to-text, so we couldn’t honestly measure articulation. We chose not to claim it. Keeping AI feedback honest. Rubric scores are subjective and can reflect transcription errors, so we label them that way in the app. Mic variability. Volume depends on microphone and distance, so we added calibration.

Accomplishments that we're proud of

A complete practice loop: hear the opponent, respond, get graded, face a sharper challenge, and track progress over time. [confirm it runs end to end on your machine] Delivery feedback based on measured signal and real timestamps, not vague AI impressions. We tested the logic against actual Cartesia output. Privacy-minded defaults: audio goes to Cartesia for transcription, transcripts go to Claude for feedback, and nothing is saved locally unless the user opts in. Pivoting cleanly and shipping a working product instead of a half-built version of the original idea.

What we learned

How Cartesia’s streaming STT behaves: word timestamps, finalize-based responses, and silence segments that still report durations. The difference between what you can measure and what you can only guess, and why being upfront about that matters, especially in accessibility. Grader prompts work best when the feedback has to point to what the person actually said. Cutting scope early is a skill.

What's next for Argument Gym

Browser-based audio so it can be deployed publicly. Today it uses the local mic and speakers. Real user testing with debaters and coaches [add anyone you’ve already talked to]. Returning to our original goal: per-user pace targets for people with speech difficulties, built with input from speech-language pathologists. Argument Gym would stay a practice aid, not a medical device. Private real-time cues on hardware, like LEDs or haptics on a Raspberry Pi. More formats: Lincoln-Douglas, parliamentary debate, interview practice, and a coach dashboard.

Built With

Share this project:

Updates

Submission history