A free, open-source Gmail client in Swift + SwiftUI. No Electron. No sync servers. No subscriptions. AI that runs on your device — not someone else's cloud.
Mimestream proved Gmail deserves a native client. Then they charged $50/year, closed the source, and shipped zero AI. 7orb is the answer.
| Capability | 7orb Open Source | Mimestream | Apple Mail | Shortwave |
|---|---|---|---|---|
| Gmail REST API (not IMAP) | ✓ | ✓ | ✗ | ✓ |
| Native Swift / SwiftUI | ✓ | ✓ | ✓ | ✗ Electron |
| True Gmail labels | ✓ | ✓ | Partial | ✓ |
| historyId incremental sync | ✓ | ✓ | ✗ | ✗ |
| Token stored on-device only | ✓ Keychain | ✓ | ✓ | ✗ their servers |
| Open source / auditable | ✓ MIT | ✗ | ✗ | ✗ |
| Free forever | ✓ | ✗ $50/yr | ✓ | ✗ $9/mo |
| AI thread summarizer AI | ✓ on-device | ✗ | ✗ | cloud only |
| AI priority triage AI | ✓ | ✗ | ✗ | ✓ |
| AI reply drafter AI | ✓ on-device | ✗ | ✗ | cloud only |
| Apple Intelligence Writing Tools AI | ✓ | ✗ | ✓ | ✗ |
| Local LLM support (MLX/Ollama) AI | ✓ | ✗ | ✗ | ✗ |
| Gmail search syntax passthrough | ✓ | ✓ | ✗ | ✓ |
| Offline reading (SQLite cache) | ✓ | ✓ | ✓ | ✗ |
Every feature maps directly to a Gmail API capability. No IMAP hacks, no label-as-folder pretense.
historyId checkpoint and pulls only changes since last sync — new emails, label changes, deletions in a single lightweight call.Keychain. Direct HTTPS to Google. No relay, no sync middleware, no third-party ever touches your mail.threads.list not messages.list. Conversations are first-class with correct expand/collapse and per-thread unread state.?q= parameter. from:boss has:attachment larger:5mb — any operator Gmail understands, 7orb handles.GRDB. Read, search, navigate on a plane. Sync resumes exactly where it left off on reconnect.7orb's AI stack has three tiers — free Apple Intelligence, local MLX models, and optional cloud with your own key. You choose what data leaves your Mac.
NSDataDetector scans the email body for dates and deadlines. "Meeting Thursday at 3pm" → suggests snooze to Thursday 9am. "Invoice due June 15" → suggests June 14 morning.IMPORTANT label, sender recognition, direct vs CC detection, and urgency keyword signals — no LLM required.
List-Unsubscribe headers (RFC 2369 / RFC 8058) and tracks open rates. Surfaces a batch-unsubscribe UI: "You've received 47 emails from 3 senders in the last month you never opened." One click to unsubscribe all via HTTP POST to the sender's endpoint.
EventKit — no copy-paste.sqlite-vec. Runs entirely on-device. Background indexing after sync, never blocks the UI.
NLTagger (free, on-device).NLEmbedding vectors + sqlite-vec ANN search. Stored locally.Other clients route through their own servers. 7orb's data path is a straight line: your Mac to Google. AI runs the same way — on your Mac.
Every phase tracked, every commit visible.
history.list incremental delta + background polling scheduler.