← All posts

June 24, 2026

I Made a Desktop App 30× Smaller Than Electron (with one command)

open-sourcerustdesktopelectronlocal-llm

I turned the same desktop app into three builds — a raw web page, an Electron app, and a Pake app — and measured every byte on my own Windows machine. Pake came out roughly 30× smaller than Electron. Then I pointed it at a local AI chat and got a native, fully-offline desktop app.

The numbers (measured, not marketing)

Electron Pake
Installer 77.9 MB 3.4 MB
On disk 268 MB 8.3 MB
RAM 362 MB 34 MB

23× smaller installer, 32× smaller on disk, ~10× less RAM. Same app, same page, same machine.

Why the gap is so big

Electron ships an entire Chromium browser and Node runtime with every app — that's the 268 MB. Pake is built on Rust + Tauri, and instead of bundling a browser it reuses the WebView already sitting inside your OS (WebView2 on Windows, WebKit on macOS). Your app is just your web content plus a thin native shell. Nothing to bundle means nothing to bloat.

One command

Setup needs Node, Rust, and MSVC build tools on Windows. Then:

npm install -g pake-cli

# any URL becomes a desktop app
pake https://github.com --name GitHub

# or wrap a LOCAL file
pake chat.html --use-local-file --name OllamaChat --width 1000 --height 760

Handy flags: --icon, --hide-title-bar, --inject style.css, --show-system-tray, --dark-mode.

The offline local-AI app

The fun part: I wrapped a local LLM chat page into a native app. Run Ollama, allow the app origin, point Pake at the UI:

$env:OLLAMA_ORIGINS="*"; ollama serve

Result: a 3 MB desktop app doing AI chat with zero cloud, zero subscription, zero Chromium.

Pros and cons

Pros — tiny binaries, native feel, fast startup, low RAM, works with any URL or local file, cross-platform.

Cons — it's a WebView wrapper, not a full app framework: no deep Node integration like Electron, rendering depends on the OS WebView version, and Windows builds need the Rust/MSVC toolchain installed first.

Verdict

If your "app" is really a web page — dashboards, chat UIs, internal tools, local-LLM frontends — Electron is paying a 260 MB tax for nothing. One Pake command gets you a native window at 1/30th the size. What would you turn into an app?

▶ Subscribe on YouTube