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 β
