We chose Tauri over Electron for Parrot because it produces a ~15MB binary (vs. Electron's ~150MB+), uses ~30MB of RAM at idle (vs. ~150MB+), and gives direct access to native macOS APIs through Rust. For a menu-bar app that needs low-latency audio capture and system clipboard access, Tauri's native approach was the clear winner. Here's the full technical breakdown.
Parrot is a utility. You press a hotkey, dictate, and it pastes text. It should feel like a system tool, not a web browser. Electron bundles Chromium, which means your "simple" app ships as a 150–200 MB download.
Tauri uses the system's native webview (WebKit on macOS). The Parrot binary is under 15 MB. That's a 10x difference. For a utility app that lives in your menu bar, this matters - both for download time and for disk space.
Electron apps are notorious for memory consumption. Each Electron app runs its own Chromium instance, typically using 100–300 MB of RAM. When you already have Slack, VS Code, and a browser open (all Electron), adding another 200 MB feels wasteful.
Parrot in Tauri idles at about 30–50 MB. The Rust backend is extremely efficient, and the native webview shares resources with the OS instead of duplicating them. For an app that runs all day in the background, this is a significant advantage.
Parrot needs to do things that web technologies can't:
In Electron, each of these would require a native Node.js addon or a complex IPC bridge. In Tauri, they're just Rust code running in the same process. Simpler architecture, fewer points of failure.
Tauri doesn't mean abandoning the web stack. Parrot's UI is React 19 with TanStack Router, Tailwind CSS, and Vite. The developer experience for the frontend is identical to any React app - hot module replacement, component libraries, the whole ecosystem.
The difference is that instead of Chromium rendering the UI, macOS WebKit does. For our use case, this has no practical downside - we don't need Chrome-specific APIs or bleeding-edge CSS features.
Electron's ecosystem is larger. There are more tutorials, more plugins, more Stack Overflow answers. Tauri's community is growing fast, but it's younger. We've occasionally had to dig through Rust compiler errors that would have been a simple npm install in Electron-land.
For our team, the tradeoffs were worth it. The performance characteristics of Tauri are exactly what a utility app needs: small, fast, invisible. Parrot should feel like part of the OS, not like another web browser tab.
Yes. For a Mac-first utility app that needs native system access, Tauri is the right choice. The smaller binary, lower memory footprint, and direct Rust access to system APIs have been meaningful advantages in practice, not just on paper.
If we were building a cross-platform app with complex UI requirements (think Figma or Notion), Electron would make more sense. But for what Parrot does - capture audio, transcribe, paste - Tauri is a better fit.
Want to see the result? Join the waitlist to try Parrot when it launches and see how a 15 MB native app compares to the Electron apps on your dock.
A comprehensive comparison of the best voice dictation apps for Mac, including Parrot, Whisper Flow, macOS Dictation, and more.
8 min readGuideEverything you need to know about speech to text technology - how it works, the best providers, and practical use cases for voice transcription.
10 min readGuidePractical tips for using voice dictation apps to work faster, reduce typing strain, and get more done throughout your workday.
7 min read