What I Built
My friend wants to learn English. He's been wanting to for months. But every time he tries to practice with someone, he freezes. The fear of being judged stops him cold. So, I built him something that doesn't judge.
SafeSpeak is a fully local, anonymous English speaking practice partner. It runs entirely on his laptop. No cloud, no accounts, no one listening.
What it does:
- Chat with a patient tutor: type or speak, get gentle corrections instead of lectures
-
Understands Hindi, Hinglish, and English:
मुझे कॉफ़ी चाहिए,mujhe coffee chahiye, orI want coffeeall work - Voice input: speak into the mic, Whisper transcribes it locally
- Voice output: Piper speaks the reply back, clean and natural
- Scenario practice: Order Food, Phone Call, Greeting, Directions
- 100% offline: after setup, you can turn off WiFi and it still works
The problem it solves: my friend needed a place where he could fail a hundred times and nobody would know. He also needed Hindi support — when you're a beginner, you don't always know the English word, you know the Hindi one.
Demo
Here's what a session looks like:

User: मुझे कॉफ़ी चाहिए
Ava: You can say: 'I want coffee.' Try saying it!
User: I goes to market yesterday
Ava: Nice! So you went to the market. Small tip — say 'I went'
for yesterday. What did you buy?
Ava: Hi there! Welcome. What can I get for you today?
text
After the one-time setup, I turned off WiFi and tested it. Everything still worked. No network calls, no errors.
Code
The full source is on GitHub:
geeknishantkyeus
/
safespeak
100% offline, private AI English practice partner for shy beginners (Ollama + Gemma 3 1B + Whisper + Piper TTS)
🎙️ SafeSpeak
A 100% offline, judgment-free English practice partner for shy beginners.
Built for a Friend (DEV Weekend Challenge #1) · Hacktoberfest 2026
The Story: Why I Built This
A close friend of mine has wanted to practice spoken English for a long time. They read English well and understand videos fine, but the moment they have to speak to someone in public, they freeze up.
When I suggested popular language apps, they told me two things:
- "Those apps feel like quizzes. One mistake and it buzzes at you with red text."
- "I don't want my broken voice recordings being uploaded to someone's cloud server."
I built SafeSpeak to give them a safe place to practice. No judgment, no grammar quizzes, no cloud servers, and no subscription fees. Just a friendly conversation partner who understands what you mean (even if you type in Hindi or Hinglish) and helps you say…
To run it locally:
bash
ollama pull gemma3:1b
pip install -r requirements.txt
streamlit run app.py
Open http://localhost:8501 in your browser. The repo includes README.md, QUICKSTART.md, and ARCHITECTURE.md if you want to dig deeper.
How I Built It
SafeSpeak is built entirely on open-source AI:
Gemma 3 (1B) via Ollama — the tutor's brain. Open-weight model, runs locally on CPU, no GPU needed.
Whisper (base) — offline speech-to-text. OpenAI's open-source model.
Piper (en_US-lessac) — offline text-to-speech. Open-source neural TTS.
Streamlit — the UI.
Python 3.12 — everything glued together.
I used Antigravity as my coding agent, but I didn't just say "build me an app." I wrote two files first:
PHASES.md — an 8-phase build plan (setup → chat → tutor → Hinglish → voice in → voice out → theme → post)
RULES.md — a set of non-negotiable rules
Then I told Antigravity: read both files, follow the rules, execute the phases one at a time. The rules kept the agent honest:
Short code — use libraries, no long hand-written logic Human-style code no AI walls of text 100% local — no cloud APIs, no telemetry
One phase at a time — verify before moving on
The rules weren't about restricting the agent. They were about keeping the output maintainable and human.
Why Does Open Innovation Matter?
This is the part that matters most to me.
SafeSpeak uses Gemma 3 (an open-weight model), Whisper, and Piper. All of it runs locally. No cloud, no API keys, no accounts, no telemetry.
For my friend, that's the whole point. He can practice at 2 AM. He can say the same sentence wrong twenty times. Nobody knows. No server logs it. No company stores it. No stranger sees it.
A closed cloud API couldn't give him that. Even if it was free, he'd know his voice was going somewhere. With SafeSpeak, his practice stays his.
That's what open innovation buys him: privacy, dignity, and the freedom to fail without an audience.
There's also a technical reason: the entire app runs offline. No internet, no rate limits, no costs, no downtime. It works on a train, in a village with bad internet, at 2 AM with no WiFi. That's not something I could have built on a closed API without sending his voice somewhere.
My Agent Session I built SafeSpeak with Antigravity. The build plan and rules are both in the repo:
PHASES.md
RULES.md
ARCHITECTURE.md
These show exactly how the agent was guided — phase by phase, rule by rule.
Prize Categories
I'm entering Best Use of Gemma. SafeSpeak is built around Gemma 3, Google's open-weight model, running locally via Ollama. No cloud inference, no API keys, no cost.
Built for Hacktoberfest 2026 — Build for a Friend.
Thanks for reading. If you have a friend who's learning a language and feels shy about it, I hope this gives you an idea.
Thanks for reading. If you have a friend who's learning a language and feels shy about it, I hope this gives you an idea.
RULES.md
ARCHITECTURE.md
These show exactly how the agent was guided — phase by phase, rule by rule.
Prize Categories
I'm entering Best Use of Gemma. SafeSpeak is built around Gemma 3, Google's open-weight model, running locally via Ollama. No cloud inference, no API keys, no cost.
Built for Hacktoberfest 2026 — Build for a Friend.
Thanks for reading. If you have a friend who's learning a language and feels shy about it, I hope this gives you an idea.

Top comments (0)