# I replaced my 137MB Electron menu-bar app with a 693KB native build

> Source: <https://dev.to/xm-yang/i-replaced-my-137mb-electron-menu-bar-app-with-a-693kb-native-build-33ol>
> Published: 2026-10-23 06:36:27+00:00

I ship a small macOS menu-bar utility that shows AI API quota usage — used + remaining with a reset countdown — in a Control-Center-style dropdown. Click any tool for a native detail window. The first version was Electron: a 110–137MB download for what is essentially a dropdown panel and a settings window.

Last week I rebuilt it native (macOS + Windows, separately). The macOS Apple Silicon build is now 693KB. The Windows build is 221KB. Same features, roughly 200× smaller.

What actually made the difference:

**The web runtime was the product.** Chromium + Node accounted for nearly all of those megabytes. My own code was a rounding error. If your app is mostly native UI with a little logic, you're shipping a browser to display a dropdown.

**Menu-bar UX is one native API call.** `NSStatusItem` + `NSPopover` gives you the dropdown behavior for free — vibrancy, dark mode, screen-edge positioning. In Electron I was fighting frameless windows and CSS to fake it.

**The rewrite deleted more than it added.** All the Electron-side scaffolding I had accumulated (auto-updater config, the signing dance, transparent-window glitches) went away entirely. Less code to maintain, not more.

**What I lost:** one codebase for two platforms. I now maintain two native codebases. For a utility this size that's fine; for a document editor it wouldn't be.

Honest trade-off, not a prescription: if your app is genuinely a web app with a desktop shell, stay on Electron. If it's a native-feeling utility wearing an Electron costume, the rewrite pays for itself in download size, launch time, and fewer "why does this dropdown eat my RAM" complaints.

QuotaTray 2.0 (the native rebuild) is $24: [https://payhip.com/b/o7RZ1](https://payhip.com/b/o7RZ1) — includes the macOS Apple Silicon and Windows builds.
