All your chats in one place, without the tab graveyard.
I got tired of Alt-Tabbing between five different apps just to have a conversation. WhatsApp in one window, two Telegram accounts in another, Discord somewhere behind that, Slack hiding in the corner — it was a mess. So I built AIOChat, a macOS wrapper that puts all of them in a single window with a clean sidebar.
The interesting bit is the isolation. Each account gets its own sandboxed browser session, so you can be logged into three different Telegram accounts at the same time without them knowing about each other. It’s the same trick browsers use for private tabs, just taken further. WhatsApp, Telegram, Discord, Instagram, Slack — all running independently, all switchable with one click.
Under the hood it’s Electron with native WebContentsViews (not the dodgy tag). That matters because WhatsApp in particular fingerprints the hell out of your browser environment and refuses to show the QR code if anything looks off. Getting it to behave required spoofing navigator.userAgentData, populating navigator.plugins, neutralising window.process, and a bunch of other annoyances that were genuinely fun to figure out.
You can drag accounts to reorder them, add multiple accounts per service, and the whole thing persists across restarts. It ships as a signed DMG for Apple Silicon. It’s not on the App Store as it’s for personal use (between my husband and I).
Run three Telegram accounts side by side, each with completely isolated sessions and login state.
Rearrange accounts in the sidebar however you like; order persists.
Full Chrome environment spoofing so WhatsApp Web actually loads instead of silently failing.
Hidden-inset title bar, vibrancy, traffic-light buttons, proper window behaviour.
WebContentsViews are only created when you first click an account, so startup is fast and there are no IO race conditions.
Accounts and their sessions survive app restarts via electron-store.
Next project
Story Architect