Saj Chandoo
← Back to work

Euphora

Live

Euphora is a speech and voice practice app built around one refusal: it will not score your fluency with AI.

5
lanes
6
courses
42
lessons
0
fluency scores

The problem

People who stutter, and people doing gender-affirming voice work, are underserved twice: first by clinical access, then by the current generation of AI speech coaches. Every consumer AI speech coach scores something, filler rate, pace, fluency, and not one publishes independent validation for what that score actually measures. For someone who stutters, a fluency score is actively counterproductive: it reinforces exactly the "sound fluent no matter what" goal that evidence-based stuttering therapy tries to move people away from. The detection does not hold up either: speech recognition normalizes disfluencies out before you can measure them, and a silent block, the moment that matters most, produces no audio at all. I built Euphora on the premise that the honest thing to do in this category is refuse to build that feature.

Approach

SOURCESMicrophone(on-device capture)LOGICPitch tracking(McLeod Pitch Method)Formant & resonance(custom FFT + LPC)Rate & variability(derived, never transcription)DESTINATIONSPitch/resonance feedback(masc & femme lanes)On-device storage(IndexedDB / Capacitor Filesystem)User-initiated export(OS share sheet only)
One microphone, three on-device DSP stages, and feedback that never leaves the phone unless the user chooses to export it.

Tiered feedback

Euphora tiers its feedback by whether the underlying measurement is actually valid, not by what would demo well. Pitch is a real, measurable acoustic property, so on-device pitch and resonance tracking is the one automated feedback surface, built for the voice masculinization and feminization lanes, with a formant and spectrogram view added because a pitch-only tracker is a known failure mode in gender-affirming voice apps. Rate and variability metrics are switched off entirely for the stuttering lane, because rate pressure worsens blocks. Every technique carries an evidence tier, A through D, and no coached technique is rated A. The one finding that clears that bar, testosterone's effect on pitch, is a biological fact, not something a person practices. That honesty is the product.

Staying, without scoring you

The same discipline extends to how the app keeps people coming back. A weekly review has you predict how a recording will sound before you listen to it, then reflect, never scored, always skippable. A lapse-return flow welcomes you back after a gap without ever surfacing how long you were away. Both are grounded in published research on habit formation, cited on a public /research page sharing the same evidence-tier legend as the in-app badges, so the two cannot drift apart.

Nothing leaves the device

Recordings live in IndexedDB in the browser, or the device's own filesystem via Capacitor on iOS and Android. There is no backend, no account, no analytics SDK, and the capture files carry header comments stating there is no network code in them "and there must never be." Live transcription via the Web Speech API was evaluated and ruled out permanently because it would send audio to third parties. The only things that ever leave are user-initiated exports through the OS share sheet: a backup, or a clinician-handoff file, since the app supplements therapy rather than replacing it, and every relevant screen points to real clinicians, ASHA, the National Stuttering Association, WPATH. Of the three apps I have shipped, this is the strictest privacy posture, and the simplest: no server to trust, because there is no server.

Euphora's on-device pitch and resonance tracking view: a live pitch readout in Hz above a resonance spectrogram with formant overlay, and a brightness dial below.
A real capture of the voice-tools screen, driven by synthesized reference audio, not a live user.
Illustrative pitch contour with the on-device tracking band for the selected lane

Pitch and resonance tracking active, the one automated feedback surface in the app. Testosterone's effect on pitch is the only technique rated evidence-tier A: a biological fact, not something practiced.

The deliberate choice

The refusal to score fluency is not a policy page, it is enforced in the codebase. When I say the ethics are architectural, I mean the CI fails if they regress.

Why I built it

I built Euphora because I needed it. I stutter, and I learned to use my voice the slow way: years of canvassing meant thousands of conversations with strangers where you cannot avoid the hard words and you cannot wait until you feel ready. That built the willingness to keep talking through the fear, but willingness only goes so far without structure. So I started practicing the way a speech therapist would actually structure it, and eventually built the practice into an app. I still stutter. That is the point. What changed was the fear around it, and Euphora is built for that change, not for a fluency number.

Stack

Status & links

Live at euphora.app with the full MVP: five lanes, six courses and 42 lessons, eleven guided exercises, a guided-practice engine, on-device pitch and resonance tracking, weekly review, and the public /research page. Native iOS and Android builds are packaged but not yet store-submitted, and monetization is built and switched off.