Skip to content

DaviBonetto/zentra

Repository files navigation

Zentra β€” Voice Desktop



Version License: MIT Platform Built with Tauri Powered by Groq Stars Issues PRs Welcome DeepWiki

zentra

Voice to text. Free. Instant. Yours.

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.


Download for Windows



🍎 macOS Β· 🐧 Linux β€” coming soon

Demo

Zentra in action

Press Ctrl+Shift+Space β†’ speak for 5 seconds β†’ text appears in VS Code, Notion, Chrome, Discord β€” anywhere.

Why Zentra?

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

Features

  • πŸŽ™ 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 .env editing required
  • πŸ†“ Free Groq API β€” No credit card needed, generous free tier
  • 🌐 Multi-language β€” Portuguese, English, and auto-detect

Screenshots

Floating Bar
The floating bar β€” minimal, always-on-top, glass morphism



Setup Wizard
First-run setup wizard β€” configure in under 2 minutes



Dashboard
Dashboard β€” transcription history, stats, settings

How It Works

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])
Loading
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
Loading

Getting Started

Option 1 β€” Install (Recommended)

  1. Download the installer from Releases
  2. Run Zentra_1.0.2_x64-setup.exe
  3. 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
  4. Start dictating anywhere πŸŽ™

Option 2 β€” Build from Source

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:build

Get your free Groq API key:

  1. Go to console.groq.com
  2. Create a free account (no credit card required)
  3. Generate an API key
  4. Paste it in the Zentra setup wizard

Roadmap

v1.0.2 β€” Current βœ…

  • 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

v1.1.0 β€” Coming Soon πŸ”œ

  • macOS support
  • Linux support
  • Transcription preview before paste (edit before sending)
  • Export history (CSV/TXT)
  • Custom vocabulary / dictionary

v2.0.0 β€” Future πŸš€

  • 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

Contributing

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.

Quick contribution guide:

# 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-name

Star History

Star History

Star History Chart

License

MIT Β© Davi Bonetto


Built with ❀️ by Davi Bonetto

If Zentra saves you time, consider giving it a ⭐