Orbit

Multi-account Gmail client for Mac

Visit Website
July 27, 2026 Why I built a Mac email client instead of using another browser profile

I run four Google accounts. Personal, company, a client one, and a dormant one I still cannot delete. For years I handled that the way most developers do, with a second browser profile, a third one, and a lot of tab discipline.

What actually broke me was not the switching. It was the sign-outs. Every so often Google decides one account needs a re-check, and coming back from that would knock me out of the others sharing that profile. Always mid-task.

So I built Orbit, a native Mac client where every Google account runs in its own isolated WebKit session, with its own cookie store and its own service workers. Accounts cannot sign each other out, because they never share state. Command-1 through 9 switches between them.

The thing I did not see coming was that the hardest bug turned out to be a profile picture. Gmail serves the avatar from a session-scoped URL, so fetching it natively returns a generated letter monogram instead of the real photo. Fetching it from inside the page is CSP-blocked. Drawing it to a canvas taints the canvas, so you cannot read the pixels back. Three different failures, one root cause. That image is only real inside the rendered, authenticated webview.

The fix was to stop trying to fetch it and screenshot it instead, with WKWebView.takeSnapshot on the avatar element's rect, then a circular clip in CoreGraphics. It sits outside the whole fetch, CORS and CSP stack because it is not a network operation at all. I wrote that one up in detail on dev.to.

It is a one-time purchase, no subscription, and it ships as a 4 MB download with no bundled Chromium. If you juggle several Google accounts as a developer, I would genuinely like to know how you handle it today, and whether the sign-out problem is something you hit too or something I am unusually unlucky about. It is at https://orbitformac.com if you want to look.

Comment

About

I run four Google accounts and got tired of signing into one and being signed out of another. Orbit gives each account its own isolated session on the Mac, natively. One-time price, no subscription.