Why AITerm is 5.7 MB of native Swift, not 500 MB of Electron

JUL 31, 2026 · 4 min read

When you build a tool whose whole job is hosting terminals, two numbers decide whether people keep it open all day: input latency and memory. Everything else is negotiable. Those two are not.

So before writing a line of AITerm we made the least fashionable decision in modern app development: no web stack. Native Swift, SwiftUI for the chrome, and SwiftTerm — the terminal engine Miguel de Icaza built, trusted by serious Mac terminal projects — for the PTYs.

The numbers

For comparison, an Electron shell alone — before your first terminal renders a single glyph — typically starts in the hundreds of megabytes of memory, and every xterm.js pane adds a canvas the browser has to composite. Multiply that by the eight panes a serious agent workflow needs, and your cockpit costs more than the agents it manages.

What native buys you beyond numbers

The translucency in AITerm is real macOS vibrancy — the compositor blurring your actual desktop behind the terminal glass, all the way through the terminal background itself. The notifications are real notifications. The menu bar badge is a real status item. ⌘K, split panes, drag & drop between panes: it all behaves the way your hands already expect, because it's the same machinery every Mac app you love is built on.

What we gave up

Honesty section: a web stack would have given us Windows and Linux almost for free, and a bigger hiring pool of contributors. We chose depth-first instead — make the Mac version indecently good, then decide. If AITerm on your Mac doesn't feel obviously better than the fifty-tabs status quo, no amount of cross-platform reach would have saved it anyway.

The app is a 2.7 MB download with a 14-day free trial. The fastest way to check our numbers is to run them yourself.