Email is a list of decisions and promises. Sovelma shows you only those, and turns every decision into Gmail's own machinery so it never comes back.
You file the same receipt sender fifty times. Rules live in the client and vanish when you switch devices or apps.
"Can you sign by Friday?" is buried in message 5 of 7. Nothing tracks who owes whom a reply.
Badges and toasts turn email into a slot machine. Gloria Mark's research shows the cost: constant checking fragments attention, and batching lowers stress.
You never file a message. You decide about a sender once, and Sovelma compiles that into a real nested label, one Gmail filter, and a backfill of the old mail.
Gmail then runs your decision forever, on every device, with Sovelma closed.
from is validated as an address or a domain, with a subdomain-aware overlap check and a budget against the 1,000-filter cap. The backfill count is shown before you confirm. Work grows with new senders, not with messages.
The metadata, index and thread graph for the whole mailbox live in memory. Bodies are one compressed read away. There is no spinner widget in the codebase.
Press P and, while you read one row, the next three are prepared: a one-line summary and a reply draft, or a filing. Triage becomes review, at about three seconds per email.
Every conversation is Owed (you owe a reply), Waiting (they owe you) or Done. The state is computed from the conversation itself, never tagged by hand.
Type two letters and land on the person: what you owe them, what they owe you, recent threads and files, and the filter that decides them.
IMAP carries the bytes. REST carries the truth about changes, and every write. The two are joined by one 64-bit id, which Google documents as the same number in decimal and in hex.
EXAMINE) and does a partial fetch of headers and text, capped at 64 KiB per message, never attachment bytes. The whole history arrives in 30–90 minutes (a planning estimate), instead of 12 hours through the API quota. IMAP IDLE is the doorbell for new mail, and history.list is the ledger.
Every key, palette command or agent request becomes an Op. It applies locally at once, waits 5 seconds while Z can undo it for free, then flushes to Gmail through a durable queue.
Sovelma is an MCP server with a write gate built into its structure. Any agent can read, search, draft and propose. Its writes land in Review, which you clear with Y.
readOnlyHint and destructiveHint annotations. The transport is MCP 2026-07-28 over stdio, with a fallback to 2025-11-25.
No badge, no toast, no sound. Mail is released at times you pick, like Linear's cycles. Only replies you're Waiting on, and people you owe, break through between sessions.
internalDate < session start, plus the break-through set. There's no Gmail write and no delayed delivery. Close the window and Gmail is exactly as it was.
The numbers Sovelma shows off are the ones that should shrink: decisions per week, the age of what you owe, and seconds per decision.
You can leave at any time. Labels, filters and drafts are all native Gmail objects, so uninstalling loses nothing but local seen state. No lock-in is the feature.
Headers, labels, threads, and text up to 64 KiB, compressed with Windows' XPRESS_HUFF. About 530 MB for 200,000 messages. Fully searchable offline.
Attachment bytes (fetched on Enter, deleted after 24 h), remote images, raw MIME, and text past 64 KiB.
Gmail and OAuth traffic, and one xAI request per prepared row: the label names, one sender, one subject, and 1,200 characters of text.
| Measure | 50,000 messages | 200,000 messages | Why it holds |
|---|---|---|---|
| Keypress to paint | ≤ 16 ms | ≤ 16 ms | State is in RAM, and only visible rows are painted |
| Search, 1–3 words | ≤ 10 ms | ≤ 10 ms | Newest-first postings with an early exit at one screen |
| Cold start to first query | ≤ 1 s | ≤ 2 s | A sorted index.bin loads with no rehashing |
| Whole-history import | ~10–25 min | ~30–90 min | IMAP partial fetch of about 6 KiB per message, under Gmail's 2,500 MB/day limit (estimate) |
| New mail visible | seconds | seconds | IMAP IDLE doorbell, with history.list as the ledger |
| Disk | ~140 MB | ~530 MB | Text only, compressed; stored raw when that's smaller |
| RAM | ≤ 80 MB | ≤ 250 MB | Bodies stay on disk |
| Executable | ≤ 3 MB | Two crates. Everything else is already in Windows | |
Native Win32 with the mailbox in memory. There's no web view, runtime or garbage collector in the frame budget, and one-frame input is structural, not the result of tuning. Most modern mail clients are web or Electron apps.
Mail goes from Gmail straight to your disk. Many AI mail clients sync your mailbox through their own servers. Sovelma has no server to breach, bill for or shut down.
A screener that lives inside one app stops working when you leave it. Sovelma's decisions are Gmail filters: portable, readable in Gmail settings, and working on your phone.
Owed and Waiting come from deterministic, explainable rules that quote their evidence, instead of black-box "important" scoring or manual stars and snoozes.
The model works ahead of your cursor, the way branch prediction does, and its output is data behind a validator. It's never a chat window, and it never writes to Gmail.
The MCP write gate is built from code that doesn't exist (no send, no delete, read-only IMAP), plus human approval in Review. It's the capability-based, human-in-the-loop design the MCP spec recommends.
A time-ordered index with early exit (the approach behind Twitter's Earlybird real-time search), plus galloping intersection and prefix search from a sorted dictionary. A common word costs the same as a rare one.
IMAP for bulk bytes and IDLE push, REST for the change ledger and every write, joined by Google's documented id equivalence. That gives real-time mail and a history import in 30–90 minutes, with no server.
One Op log with optimistic apply, a free 5-second undo, a durable queue and replay validation. Undo, offline, recovery and audit are one mechanism, not four features.
Sessions and break-through rules put the interruption research into the product itself, so it doesn't depend on your willpower. The success metric is less time in the app.
A single 3 MB exe, about 530 MB of data for 200k messages, and 170 MB of RAM. Everything else is platform APIs: WinHTTP, Schannel, DPAPI, BCrypt, XPRESS and GDI.
Every deliberate ceiling is written down as a ponytail: note with its upgrade path. Nothing is built "just in case".
Sovelma is in development. See all ten screens · Privacy