Electron is a tax. Tauri + Rust is the refund.
180 MB to render a settings page. We're past the point where this is acceptable. The numbers are humiliating.
I built the same desktop app twice — once on Electron, once on Tauri. The Electron build was 180 MB, used 280 MB of RAM at idle, and took 2.4 s to launch. The Tauri build was 8 MB, used 38 MB at idle, and launched in 0.4 s. Same UI, same features. The numbers below.
The app I built
A markdown notes app. Single window. Sidebar list, editor pane, search, autosave to local SQLite. Tray icon. Keyboard shortcuts. Nothing weird.
The benchmark
Both binaries built for macOS arm64, signed, notarized. Tested on an M2 with 16 GB. Same UI (React in both — Tauri's WebView2 / WebKit can host any web stack).
| Metric | Electron | Tauri (Rust) |
|---|---|---|
| Bundle size (.dmg) | 182 MB | 8.1 MB |
| Cold start to first paint | 2.4 s | 0.42 s |
| RAM at idle (after 60s) | 281 MB | 38 MB |
| RAM with 1,000 notes | 410 MB | 62 MB |
| Auto-update bundle | ~100 MB diff | ~2 MB diff |
| CPU idle (1 min) | 2.1% | 0.3% |
| Native UI integration | Partial | Native menus, tray, shortcuts |
The "but Electron is fine" argument
I've heard it. Disk is cheap. RAM is cheap. Slack ships 350 MB and millions of people use it. Sure. But Slack is also the company most associated with the meme "why is my fan spinning." That's not a defense. That's the punchline.
Also: disk and RAM aren't free anywhere except a developer's laptop. They are free nowhere on a four-year-old MacBook with 8 GB and 80 GB used. That user is most of your users.
The "but Rust is hard" argument
Tauri does not require you to write Rust. The frontend is whatever you want — React, Svelte, Vanilla, Vue. You write Rust only for native plugins (file system access, deep OS integration) and the surface area is small. For 80% of desktop apps, you write zero Rust beyond cargo tauri build.
And if you're using a tool like buildr, the agent writes the Rust commands when you need them. The agent is good at Rust. Better at it than at most languages, actually — the compiler errors are so verbose that the model gets a lot of feedback to self-correct.
The Chromium runtime in your menu bar app is the equivalent of shipping the Eiffel Tower so you can hang a coat on it.
Where Electron still wins (briefly)
Three places, honestly:
- Apps that ship Chrome DevTools by design. If the entire point is to be a browser, ship a browser.
- Apps that depend on native Node modules with binary deps. Tauri can call out to a sidecar binary, but it's more work.
- Existing Electron apps with 200k LOC. Don't rewrite for the sake of it. Rewrite the next one.
That's it. For new desktop apps, Tauri is the default and Electron is the legacy choice.
The migration
If you're starting today, just start with Tauri. npm create tauri-app drops you a working scaffold in 90 seconds. If you're using buildr, "build me a desktop notes app" picks Tauri by default — Tauri is the desktop target in our 8-app-types list, and Electron isn't.
180 MB vs 8 MB. Pick.
Tauri is not "the future of desktop." It's the present. Electron is the previous generation that hasn't been formally retired. If you ship something new in 2026, your users have already used a Tauri app this week. They know what fast feels like.
Ship a desktop app that's smaller than your podcast.
buildr's desktop target is Tauri + Rust. Same agent, same chat, native binaries that boot in under half a second. Free for open source.
Build my app free