Push to Chat User Guide

Push to Chat is a voice chat app that's patient with stuttering. You speak, it listens without rushing you or finishing your sentences, and it answers out loud like a friend. This guide walks you through everything, from getting your keys to your first conversation.

1. How it works

Every time you talk, three services work together, one after the other:

  1. Speech-to-Text turns your voice into text.
  2. The AI Engine reads that text and writes a reply.
  3. Text-to-Speech reads the reply to you out loud.

You choose which company does each step and connect your own account with an API key, a password-like code the company gives you. This is called "bring your own key". The app itself is free.

Every provider in the app can be used for free. They were chosen because each one gives you free credits or a free plan, and none of them asks for a credit card to sign up.

There are many other speech and AI services, such as OpenAI, Anthropic (Claude), Google Cloud's Speech-to-Text and Text-to-Speech, Amazon Web Services and Microsoft Azure. They aren't included because they need a payment method before you can use them.

Google Gemini is the exception within Google: its API is offered free through Google AI Studio with just a Google account, which is why it's available here as an AI Engine.

2. What you need

Tip: you may only need two accounts. The same company can handle Speech-to-Text and Text-to-Speech. For example, one Cartesia account covers both, plus one AI Engine account. A Groq key also does double duty: it works for Speech-to-Text and as the AI Engine.

Which providers should I pick?

If you want…Speech-to-TextText-to-Speech
The fewest accounts, any of 32 languagesCartesiaCartesia
The fewest accounts, any of 32 languages, with a credit balance shown in the appElevenLabsElevenLabs
Low-cost listening plus a very natural voice (English, Spanish, French, German, Italian only)DeepgramElevenLabs or Cartesia
Deepgram for everything (English, Spanish, French, German, Italian only)DeepgramDeepgram
One Groq key for listening and thinking, any of 32 languagesGroqElevenLabs or Cartesia (Groq has no voice)

For the AI Engine, any of the three works well. For the quickest replies, try Groq first.

3. Open and install the app

  1. Open push-to-chat.keremk.workers.dev in your browser.
  2. Optional but recommended: add it to your home screen so it opens like a regular app.
    • iPhone / iPad (Safari): tap the Share button (the square with an arrow), scroll down, tap Add to Home Screen, then Add.
    • Android (Chrome): tap the ⋮ menu, then Add to Home screen or Install app.
    • Computer (Chrome or Edge): click the install icon at the right end of the address bar, then Install.

4. Get your API keys

For each provider you chose: sign up, find the API Keys section of your account, create a key, and copy it. Keep the page open until you've pasted the key into the app, because some providers only show a new key once.

Treat API keys like passwords. Anyone with your key can use your account. Never post a key online or send it in a message. If one leaks, delete it in the provider's dashboard and make a new one.

The app never stores your API keys anywhere but your own device. Everything happens locally, in your browser: your keys are saved only on your device, and each one is sent only to its own provider when the app talks to it. There's no Push to Chat server or account that ever receives, sees or keeps your keys. See Privacy and your keys.

How much free use you get

Every provider below is free to sign up for, with no credit card. The chat-time estimates assume a typical exchange: you speak for about 15 seconds and the assistant answers with two or three sentences (also about 15 seconds of speech).

ProviderFree creditRoughly how much conversation
Deepgram
★ Biggest pool
$200, one-time, never expiresWell over 100 hours using it for both listening and speaking, and far more for listening only. For most people this lasts months or years.
Cartesia
★ Renews monthly
20,000 credits every monthAbout 35–40 minutes a month (roughly 75 exchanges) using it for both sides. Speaking uses most of the credits, and listening costs very little.
ElevenLabs
★ Renews monthly
10,000 credits every monthAbout 40 minutes a month (roughly 80 exchanges) for speaking only, or about 25 minutes a month (roughly 50 exchanges) using it for both sides. The app shows your remaining balance.
Google Gemini
★ Renews daily
Free tier with a daily request limitHundreds of replies a day, far more than a normal day of chatting. Limits reset every day.
Groq
★ Renews daily
Free tier with daily limitsHundreds of replies a day as the AI Engine, and around 2,000 transcriptions a day as Speech-to-Text. Limits reset every day.
Mistral AI
★ Renews monthly
Free "Experiment" plan with a large monthly allowanceFar more than personal chatting needs. It needs a phone number to verify your account.

Best value for long conversations: Deepgram for listening (its $200 lasts a very long time) plus Cartesia or ElevenLabs for the voice, both of which top up every month. For languages beyond the main five, Cartesia gives you the most free speaking time each month.

These figures are estimates based on each provider's published free offer, and providers change their offers from time to time. Check the provider's pricing page for the latest details.

Speech providers

AI Engine providers

5. Set up the app, step by step

You only do this once per device. The app remembers everything you enter, but only on your own device, in your browser's storage. Nothing you enter (keys, choices or instructions) is sent to or saved by the app's owner.

  1. UI Language (top left, top of the screen on phones): choose the language for the app's buttons and labels. This doesn't change the language you talk in.
  2. Chat Language (next to it): choose the language you'll speak.
    • Some languages are tagged with provider names, like Japanese · ElevenLabs, Cartesia, Groq. Only those providers support them (Groq only listens; it has no voice).
    • If you pick one, the app switches your providers automatically when needed. See Languages.
  3. Speech-to-Text Provider: choose Deepgram, ElevenLabs, Cartesia or Groq, then paste that provider's key into the box next to it.
    • After a moment, a line appears under the box. Green means the key works.
    • See key status messages for what the other colors mean.
  4. Text-to-Speech Provider: choose a provider and paste its key.
    • If it's the same provider as Speech-to-Text, the key is usually filled in for you.
  5. Assistant Voice Persona: choose the voice you'll hear.
    • With Cartesia, the list shows native voices for your chat language once your key is entered.
  6. Speaking Speed (next to the voice): choose how fast the assistant talks, from 0.75× (slower) to 1.3× (faster). 1× is the normal speed. You can change it at any time, even while the assistant is talking.
  7. AI Engine (LLM) Provider: choose Mistral AI, Google Gemini or Groq, and paste its key.
  8. Optional: Assistant Instructions. This box tells the assistant how to behave.
    • By default, it tells the assistant to talk like a relaxed friend, answer briefly, and never finish your sentences for you.
    • The instructions don't mention stuttering at all, and they don't need to: the app tidies up repeated sounds, repeated words, held sounds and pauses in what you said before the assistant sees it. The assistant simply replies to what you meant, and never has a reason to comment on how you speak.
    • The reply language isn't part of these instructions: the assistant always replies in your Chat Language, and that can't be changed here.
    • You can edit it, and your version is saved. To go back to the original, empty the box completely and click outside it. The original comes back right away.

When all three key lines are green, you're ready.

Tip: fold Settings away. Everything from UI Language to the AI Engine sits in the Settings section at the top. Once your keys are in, tap Settings to fold it away, so the conversation and the READY button are the first things you see. The app remembers this. While a key is missing, Settings opens by itself, since the app can't work without it.

6. Have a conversation

On a phone or tablet

  1. Tap the large status box that says READY.
  2. The first time, your browser asks for permission to use the microphone. Tap Allow.
  3. The box turns to RECORDING.... Speak at your own pace. There's no time limit and nothing will interrupt you.
  4. When you've finished, tap the box again to send.
  5. The box shows PROCESSING... while your speech is transcribed and a reply is written. This usually takes a moment. With Google Gemini it can take longer at busy times, because the app is waiting on Google.
  6. The box shows AI SPEAKING... and you hear the reply. The assistant starts speaking as soon as its first sentence is ready, while the rest is still being written. Your words appear under User Prompt and the reply under Assistant Response.
  7. When the reply ends, the box returns to READY. Tap it to answer.

To stop a reply early, tap the box while it's speaking. It goes straight back to READY.

On a computer (keyboard)

KeyWhat it does
SpaceStart recording. While the assistant is speaking or thinking, it cuts the reply off and starts recording right away.
EnterStop recording and send.
EscClear the conversation memory (start fresh).

You can also click the status box, just like tapping on a phone. Space and Enter don't work while you're typing in a text box, so click an empty part of the page first. Esc works anywhere.

Typing instead of speaking

When speaking is hard, you can type. Use the Type a message instead… box in the User Prompt section, then press Send (or Enter). The assistant still answers out loud, and typed and spoken messages are part of the same conversation. Typing only needs an AI Engine key and a voice; no Speech-to-Text key is needed.

Your screen stays on

Once you start a conversation, the app keeps your screen from turning off or locking while it's open, so a reply is never cut off by the screen going dark. Switch to another app or close it, and your device's normal screen timeout returns.

Conversation memory

7. Everything on the screen

The status box

ShowsMeaningTap or click it to…
READYWaiting for youStart recording
RECORDING...Listening to youSend what you said
PROCESSING...Transcribing and writing a replyNothing (wait a moment, or press Space to cancel and speak again)
AI SPEAKING...Playing the replyStop the reply
ERRORSomething went wrong; returns to READY after 3 secondsSee Troubleshooting

Key status messages

The small line under each key box tells you whether that key works:

MessageMeaning
Enter an API key for the selected modelNo key has been entered for this provider yet.
Credits availableThe key works. For Deepgram, Cartesia and the AI Engines, this confirms the key is valid. It doesn't show a balance.
Credits: 2,879 / 10,000 chars leftElevenLabs only: the key works, and this is your remaining character balance for the month.
No credits availableThe key didn't work: it may be mistyped, deleted, out of credits, or missing a permission. See Troubleshooting.

Other controls

Each section with a small arrow (▼), including Settings, can be folded away by tapping its title. The app remembers which sections you left open or closed, so the screen looks the same the next time you open it.

8. Languages

What happens when you choose a tagged language:

  1. If Speech-to-Text or Text-to-Speech is set to a provider that can't handle it, that side switches automatically.
  2. The app prefers the provider your other side already uses, then one you've already saved a key for, then ElevenLabs.
  3. If the new provider has no key yet, its key line says Enter an API key. Paste one to continue.

If you later switch a side back to Deepgram while a tagged language is selected, the chat language resets to English.

Always speak the language selected as Chat Language. The Chat Language tells the Speech-to-Text service which language to listen for, and it only listens for that one.

If you speak a different language (for example, Mandarin while the Chat Language is English), the app can't understand you. You'll either get an ERROR saying no speech was detected, or a transcription that makes no sense.

To switch languages, change the Chat Language first, then speak. The assistant answers in the language you speak.

9. Privacy and your keys

10. Troubleshooting

A key says "No credits available"

  1. Paste the key again. Make sure you copied all of it, with no extra spaces.
  2. Check that the right provider is selected for that key.
  3. Log in to the provider's dashboard and check the key still exists and your account has credit.
  4. ElevenLabs: if you restricted the key, make sure it has Text to Speech, Speech to Text, and read access to User.
  5. Still red? Create a new key and try that.

Nothing happens when I tap READY, or I see "Microphone access denied"

The browser isn't allowed to use your microphone. Turn it back on:

Also make sure your Speech-to-Text and AI Engine keys are entered. The app won't start recording without them.

The status box shows ERROR

  1. Tick Enable Debug Inspector at the bottom of the app and try again.
  2. Read the message in the inspector. It names the step that failed (Speech-to-Text, AI Engine or Text-to-Speech) and the provider's reason.
  3. Common causes:
    • An invalid or expired key
    • An account that's out of credit
    • "No speech detected": either nothing was heard (speak a little louder or closer to the microphone), or you spoke a different language than the Chat Language. See below.
    • A rate limit (too many requests too quickly): wait a minute and try again

I spoke another language and got an ERROR or a strange transcription

The Speech-to-Text service only listens for the language selected as Chat Language. Speaking any other language, even a few words, can make it fail with "No speech detected" or turn your words into nonsense.

  1. Change the Chat Language to the language you want to speak.
  2. If it's tagged (e.g. · ElevenLabs, Cartesia), the app may switch providers; make sure the new provider has a key.
  3. Speak again.

Replies take a long time (PROCESSING stays on screen)

I don't hear the reply

It misunderstands what I say

Where do I see which version I have?

The version number is at the bottom left of the app. The app updates itself: when a new version comes out, reopen or reload the app once or twice to get it.

11. About & disclaimer

Push to Chat is a free, personal, open-source project. Please keep the following in mind:

Providers' terms and privacy policies

ProviderTermsPrivacy
DeepgramTermsPrivacy
ElevenLabsTermsPrivacy
CartesiaTermsPrivacy
GroqTermsPrivacy
Google GeminiTermsPrivacy
Mistral AITermsPrivacy

The source code is public on GitHub, so anyone can check exactly what the app does.

← Back to the app