The free, open-source alternative to Wispr Flow and Willow.
Press your hotkey → speak → text appears wherever you're typing.
No subscription. No cloud. No limits.
🍎 macOS · 🐧 Linux — coming soon
Press
Ctrl+Shift+Space→ speak for 5 seconds → text appears in VS Code, Notion, Chrome, Discord — anywhere.
| Zentra | Wispr Flow | Willow | |
|---|---|---|---|
| Price | Free forever | $10/mo | Free (limited) |
| Open Source | ✅ | ❌ | ❌ |
| Auto-paste | ✅ | ✅ | ✅ |
| Works offline | ✅ VOSK | ❌ | ❌ |
| Custom hotkey | ✅ | ✅ | ✅ |
| Dashboard + History | ✅ | ✅ | ❌ |
| No tracking | ✅ | ❌ | ❌ |
| Transcription speed | ~5–10s | ~3s | ~2s |
- 🎙 Instant voice capture — Global hotkey starts recording immediately
- ⚡ Ultra-fast transcription — Groq API (Whisper large-v3) at ~300ms latency
- 📋 Auto-paste — Text appears where your cursor is, no Ctrl+V needed
- 🔒 Private by default — API key stored locally, no cloud sync, no telemetry
- 📡 Offline fallback — VOSK local model when no internet available
- 🎨 Minimal floating UI — Glass morphism bar stays out of your way
- 📊 Dashboard — Track words dictated, minutes saved, full transcription history
- ⚙️ Zero-code setup — Guided wizard, no
.envediting required - 🆓 Free Groq API — No credit card needed, generous free tier
- 🌐 Multi-language — Portuguese, English, and auto-detect
The floating bar — minimal, always-on-top, glass morphism
First-run setup wizard — configure in under 2 minutes
Dashboard — transcription history, stats, settings
flowchart LR
A([🎙 Hotkey pressed]) --> B[Audio capture\ncpal + VAD Silero]
B --> C{Internet?}
C -->|Yes| D[Groq API\nWhisper large-v3\n~300ms latency]
C -->|No| E[VOSK local\nOffline fallback]
D --> F[Clean transcript\nNo timestamps]
E --> F
F --> G[Copy to clipboard]
G --> H{Field focused?}
H -->|Yes| I([✓ Auto-pasted!\nText appears instantly])
H -->|No| J([✓ Copied!\nCtrl+V to paste])
flowchart TD
subgraph Frontend [React + Tailwind]
A[FloatingBar] --> B[Waveform]
A --> C[ModeToggle]
A --> D[Toast]
E[SetupWizard] --> F[4 Steps]
G[Dashboard] --> H[History]
G --> I[Stats]
G --> J[Settings]
end
subgraph Backend [Rust + Tauri]
K[Audio Capture] --> L[VAD Silero]
L --> M[Session Stitcher\n59s segments]
M --> N[Failover Orchestrator]
N --> O[Groq STT]
N --> P[VOSK Local]
N --> Q[ElevenLabs]
R[Auto-Paste\nSendInput API]
S[Config Store\nAppData/zentra]
end
Frontend <-->|Tauri IPC| Backend
- Download the installer from Releases
- Run
Zentra_1.0.2_x64-setup.exe - Follow the setup wizard (2 minutes):
- Enter your name
- Get your free Groq API key (no credit card)
- Choose your hotkey (default:
Ctrl+Shift+Space) - Test your microphone
- Start dictating anywhere 🎙
Prerequisites:
- Node.js 18+
- Rust (latest stable)
- Windows 10/11 (for production build)
# Clone the repository
git clone https://github.com/DaviBonetto/zentra.git
cd zentra
# Install dependencies
npm install
# Create your .env file
cp .env.example .env
# Add your GROQ_API_KEY to .env
# Run in development mode
npm run tauri:dev
# Build for production
npm run tauri:buildGet your free Groq API key:
- Go to console.groq.com
- Create a free account (no credit card required)
- Generate an API key
- Paste it in the Zentra setup wizard
- Floating bar UI with glass morphism
- Groq API transcription (~5–10s)
- Auto-paste via Windows SendInput
- VOSK offline fallback
- Setup wizard with API key validation
- Dashboard with transcription history
- System tray integration
- Configurable hotkey
- macOS support
- Linux support
- Transcription preview before paste (edit before sending)
- Export history (CSV/TXT)
- Custom vocabulary / dictionary
- AI Prompt Mode — Transform speech into structured prompts for ChatGPT/Claude
- Multiple STT model options (Whisper small/medium/large)
- OpenAI API support
- Real-time transcription (streaming)
- Browser extension
- Team/workspace features
Contributions are very welcome! Zentra is built by the community, for the community.
Ways to contribute:
- 🐛 Report bugs
- 💡 Request features
- 🔧 Submit pull requests
- ⭐ Star the repository to help others discover it
- 🌍 Add translations
See CONTRIBUTING.md for detailed guidelines.
# Fork and clone
git clone https://github.com/YOUR_USERNAME/zentra.git
# Create a feature branch
git checkout -b feat/your-feature-name
# Make your changes and test
npm run tauri:dev
# Commit using conventional commits
git commit -m "feat: add your feature description"
# Push and open a PR
git push origin feat/your-feature-nameMIT © Davi Bonetto
Built with ❤️ by Davi Bonetto
If Zentra saves you time, consider giving it a ⭐
