Everyone has a speech habit they would drop tomorrow if they could. The "um" that opens every sentence. The reflexive "sorry." The swearing you promised to rein in. The edge in your voice when a game — or a meeting — goes sideways. FlowX is a new tool built on a simple, slightly ruthless idea: you break a habit faster when slipping has a visible cost. FlowX listens to your microphone in real time, scores every stretch of speech against the habit you're training, and runs a big retro-LCD scoreboard of time since your last slip. Cross the line and the clock flashes red, a buzzer sounds, and your streak resets to zero. It was built for live streamers — the overlay drops straight into OBS — but the training loop works for anyone who talks for a living, or just wants to like the way they talk.
The Loop: Listen, Score, Reset
FlowX's core loop has three moving parts. Your microphone streams to a real-time transcription engine (Modulate's Velma speech-to-text), so the app always has a running transcript of what you're saying. Every few seconds — the interval is yours to tune — the latest window of speech goes to Google's Gemini Flash with one question: on a scale of 1 to 10, how strongly does this violate the goal? The goal is plain English, written by you in Settings: "don't swear," "stop saying sorry," "no filler words," "stay calm when things go wrong." If the score crosses your threshold, that's a slip. The widget trips its red alarm, the buzzer fires, and the clock starts over from 00:00:00.
That clock is the whole psychology of the product. A streak you can watch grow is a streak you do not want to lose — the same loss-aversion mechanics that make step counters and language-app streaks so sticky, pointed at the way you speak. A dashboard keeps the long view: your goal score charted over time, every session logged, slip counts, and an all-time RECORD — your longest run without a slip. Beating your record becomes the game, and the habit quietly fades while you play it.
Goals also work in both directions. You can train away from something (less anger, less apologizing, less swearing) or toward something — the scoring direction is configurable, so "speak more positively" is as valid a goal as "stop saying like." Either way you can rewrite the goal at any time as the current one loses its bite.
Built for the Stream
The streamer edition is where FlowX gets theatrical. The scoreboard is an OBS Browser Source — a transparent overlay you paste into your scene by URL, no plugin required. The widget URL carries an unguessable token instead of a login, so it lives safely inside OBS, and you can regenerate the token from Settings at any moment to instantly revoke the old one. Streamers sign in with their Kick account — OAuth is the only way in; there are no passwords and no signup form.
On stream, the clock changes the dynamic completely: your audience can see it. When you're forty minutes into your best run ever and the buzzer goes off mid-rant, your chat sees the reset the moment you do. That public accountability is exactly the pressure that makes the training stick — and the skins lean into the spectacle. The overlay ships with a stack of Retro-LCD looks, from the classic green OG through Neon Tokyo, Amber CRT, Blood Moon, Gold Rush, Pixel Quest, and Ghostline, so the scoreboard can match any scene.
Not Just for Streamers
Here's the thing: nothing about the loop cares whether anyone is watching. Streamers were the first audience because they already narrate their lives into a microphone for hours at a time — which makes them the perfect stress test — but the training itself works anywhere you talk. Run FlowX during your podcast recording and train out the filler words between takes. Run it while rehearsing a talk and let it catch the "sort of" and "basically" you no longer hear yourself saying. Run it through a day of calls and find out, on the chart, how often "sorry" actually leaves your mouth. The dashboard doesn't judge; it just counts — and seeing the count is usually the moment the habit stops being invisible.
It pairs naturally with Clarion, the speech-practice app I released alongside it. Clarion is the practice room — a scored teleprompter where you work on clarity and delivery deliberately. FlowX is the field — it rides along during real speech and catches the habits that only show up when you're not performing for a score. One trains what you say on purpose; the other trains what you say by accident.
Under the Hood
Technically, FlowX is deliberately small: one Node and Express process plus MongoDB, brought up with a single docker-compose up. Live audio flows in over a websocket from a browser audio worklet, transcripts and scores flow out to the app and widget over server-sent events, and the external services — Kick for identity, Modulate for transcription, Gemini for scoring — sit behind thin adapters that are mocked in the test suite, so the whole thing tests without a single live API call. The scoring windows are cheap by design: a few seconds of transcript to a fast, inexpensive model at a configurable interval, which is what makes leaving FlowX running for a four-hour stream economically boring.
Privacy gets first-class treatment, because a tool that transcribes everything you say had better take that seriously. Transcripts are only captured while you're recording, sessions can be deleted individually, and Settings includes a purge-everything button that does exactly what it says. The same pattern shows up across my other projects — keys stay server-side, tokens are revocable, and the data is yours to destroy — and the architecture notes in building AI-powered web applications cover the reasoning in more depth.
Start the Clock
FlowX is live at flowx.outdoordevs.com. Sign in with Kick, write down the habit you have been meaning to break, and hit record — on stream with the scoreboard over your scene, or off stream with just you and the clock. Fair warning: the first buzzer stings. That's the product working. Somewhere around the third session, you'll catch yourself rephrasing a sentence mid-thought to protect your streak — and that's the habit starting to lose.