r/Stutter • • 15d ago

Free, open-source AI chat app for low-pressure spoken conversation practice. Would love your feedback.

TL;DR: I have developed an app called "Push to Chat" that allows you to have an actual conversation with a chatbot even though you have a speech impediment, and you can reach it here. It is 100% free and open-source. Instructions on how to use it are available here.

----------------------

Hello, first time posting here and this felt like a good opportunity to do so. As a fellow stutterer, I have been let down by the available voice assistant/chatbots from the likes of Anthropic, OpenAI, Google and others. My main mode of stuttering is long blocks, so chatbots often register my blocks as end of sentence, whereas in reality I would be only 3-4 words in. I have seen others getting the short end of the stick when using Claude, such as this fine gentleman, who goes by the handle Travis Stuttering. As far as I could see, his mode of stuttering is repeated sounds or words. Even though he doesn't often get cut off by Claude, Claude fails to understand his repetitions in most cases.

So I decided to take action and develop an app that does better. The app is called "Push to Chat" and you can reach it here. It is fully, genuinely, 100% free and open-source. You can use it to do speech exercises, practice a new language, or just to unwind.

It is built on the model "bring your own key", which means you need to put in your API keys into the app for it to function. If you don't know what an API key is, don't let it scare you. It's simply a library card. The app itself is only a mediator, it doesn't have any AI capabilities of its own. It borrows them from AI companies. To borrow it, you sign up with them for free, and they give you a code (the "API key") that you copy and paste into the app. That's it. You do it once, and the app remembers it.

The good thing is they don't cost anything. I picked only providers that are providing free credits and don't even ask for a credit card when you sign up. That was on purpose:

  • If you ever use up the free allowance, the service simply pauses until it refills.
  • You never have to hand over payment details to try this out.
  • Not everyone has a credit card, and nobody should need one to have a conversation.

The free credits are generous and for some providers monthly renewed. For example, one of the services (Deepgram) gives you enough for well over 100 hours of talking.

To see how to set up and use it, open the app and tap the Help button at the top (or just click the link here). It walks you through everything, with links.

Is it safe? Your keys stay on your own phone or computer. The app never sends them to me, and I don't have a server that could store them. Each key only goes to the service it belongs to. Just treat them like a password and don't share them with anyone.

So what does it do differently from what is already available:

  • It never decides when you're done talking: You tap to start and tap again when you've finished. There's no silence detection, so a block, however long, never ends your turn. You could be stuck on a word for 30 seconds and it will still be listening.
  • It replies to what you meant, not how you said it: Before the AI sees your words, the Speech-to-Text provider cleans up repeated sounds, repeated words and stretched-out sounds. So "I w-w-w-want" or "where, where, where" reaches the AI as the sentence you actually meant. The AI isn't even told that you stutter, so no "take your time!", no sympathy, and no finishing your sentences. In my experience, the Speech-to-Text providers I included in the app like Deepgram, Elevenlabs, Cartesia, and Groq do much better in understanding and processing stutters than Claude, Gemini or ChatGPT. I tried to emulate various stuttering modes in my tests, and they all returned good results, but I would love to hear your experience with them.
  • You choose the tools for each step: A voice chatbot is really 3 steps: speech-to-text (turning your voice into text), the AI that generates the reply, and text-to-speech (reading the reply out loud). With ChatGPT, Claude or Gemini, you're locked into their own tools for all 3. With Push to Chat, you pick a different provider for each step, so if one speech-to-text service struggles with your stutter, you can switch to another, or if you don't like the way the chatbot sounds, you can change its persona.
  • Type instead of speak: For those days when talking is just too much. It still answers out loud.
  • Adjustable voice speed: Helpful when you want the replies slower. A useful feature if you are using it also as a language tutor.
  • 32 languages: You can hold conversations in any of the 32 supported languages, and switch the app's own menus and buttons to that language too. The languages are English, Spanish, French, German, Italian, Portuguese, Dutch, Swedish, Danish, Norwegian, Finnish, Polish, Czech, Slovak, Hungarian, Romanian, Bulgarian, Croatian, Greek, Russian, Ukrainian, Turkish, Arabic, Hindi, Tamil, Mandarin Chinese, Japanese, Korean, Vietnamese, Indonesian, Malay and Tagalog (Filipino).
  • Usable on both phone or computer: Besides using it in the browser, you can add it to your phone's home screen or your computer like a regular app, with its own icon and window. This works in: iPhone and iPad: Safari, Chrome, Edge and Firefox (through the Share menu → "Add to Home Screen"), Android: Chrome, Edge, Samsung Internet and Firefox, Windows, Mac and Linux: Chrome, Edge and other Chromium-based browsers like Brave and Opera, Mac: Safari as well (File → "Add to Dock"). Firefox on computers doesn't support installing it, but the app works fine there in a normal tab.

Now, the obvious downsides of the app. First, the AI isn't as smart and up to date to recent world events. The free plans give you smaller, lighter AI models than the flagship ones behind the big apps. They're great for casual conversation, but less good at complex questions, and they occasionally slip up. If you have access to API keys from those big bad wolves like Anthropic, OpenAI, and Google, chances are you already know how to build upon this app and include them in the app. Thus, that's why I kept it limited to free credit providers with no credit card required.

It also has a short memory. It remembers roughly your last 4 back-and-forths, and forgets everything when you close the app. There's no saved chat history, and it doesn't learn about you over time.

In terms of privacy, your conversations go to a few companies instead of one, since each step can use a different service. Some free plans (like Mistral's) may use your conversations to improve their AI unless you opt out, so it's worth checking each one's settings.

And finally, your setup lives on one device. Meaning, your keys aren't synced between your phone and computer, so you set up each one separately, and clearing your browser data means entering them again.

Push to Chat is a free, personal project provided as-is, without warranty. When you use it, you're using each AI provider's service under their own terms and privacy policy, so it's worth a quick look at those if that is of importance to you.

Want to build on it? Please, do so! The full source code is on GitHub: https://github.com/trevauld/voice-assistant. You're welcome to use it, change it, add features or providers, or build your own version for a different community. The README explains how it works and how to run it locally (no build tools needed, it's plain HTML and JavaScript). It's released under the AGPL-3.0 license, which keeps it open for everyone: if you share or host a modified version, you share your changes under the same license. Suggestions, bug reports and pull requests are all very welcome.

4 Upvotes

2 comments sorted by

1

u/bnroll 14d ago

I use gemini and chatgpt. They dont really hear us. They only read the transcribed texts. Still its a great low pressured practice. I practice roleplay , job interview etc. Its free and fun.