Triage your transactions the moment they happen.
zoh pings you the second a charge posts to any of your accounts. Tap once to categorize, split, or note it — while you still remember what it was for. Then slice and dice everything in a fast, queryable table. No Sunday reconciliation ritual.
Every finance app is a rear-view mirror.
It's Sunday. You open the app. Forty rows of SQ *MERCHANT 9823 and AMZN MKTP US*2K4B1 stare back. You try to remember what you bought on Tuesday afternoon. You can't. You tag half of them "Misc," close the tab, and tell yourself you'll do better next week.
The problem isn't willpower. The problem is latency. Aggregators were designed to batch-import once a day, show you a dashboard, and maybe send a weekly email. That loop was acceptable in 2013. Today your card posts in seconds, your memory fades in minutes, and a cryptic merchant string shows up three days later with no human context attached.
And then there's the other failure mode: one bank connection breaks, the whole picture goes stale, and you don't find out until the category totals look wrong. Single-provider plumbing is a single point of failure.
The right moment to label a transaction is when it happens.
Three moments, one loop. By the time you sit down on Sunday, there's nothing left to reconcile.
A push the second a charge posts.
Webhook from your bank → normalized merchant → your phone. Typical end-to-end: under 12 seconds. Pending charges too, where your bank supports them.
Triage without opening the app.
Categorize, split across people or tags, add a note, attach a photo of the receipt, flag as fraud — all from the notification. Never break flow.
Your data is already clean.
No weekly ritual. No catch-up. Open the transactions view to explore — not to label.
A transactions view that actually queries.
Filter by merchant, category, amount, date, account, tag. Group by anything. Search normalized merchant names — not the bank's garbage strings. Save views. Export CSV, JSON, or hit the API.
A real query language. Filters compose. Saved views.
One "Trader Joe's" instead of twelve SQ *… variants.
Your data, portable. No lock-in, no premium tier.
Navigate, filter, tag, group — without your mouse.
Three moving parts. No ceremony.
Connect
Plaid, Teller, SimpleFIN, or Quiltt — whichever one holds up best for your bank. Or bring all four. If one provider flakes, the others keep the feed alive.
Normalize
Garbage merchant strings become canonical names with a category, a logo, and a location. "SQ *TJ HOLLYWD 9823" becomes "Trader Joe's · Hollywood."
Triage + Explore
Push notifications close the loop at the moment of the charge. The transactions view gives you everything after — filtered, grouped, queried, exported.
Is my data safe?
+
Bank credentials never touch our servers — they go directly from you to Plaid/Teller/etc. We only see read-only transaction data. Everything is AES-256 at rest, TLS 1.3 in transit, with SOC 2 Type II in progress. Two-person access control on production; full audit log.
Do you sell my data?
+
No. No anonymized aggregates sold to hedge funds, no "partner offers," no behavioral ads. The revenue model is a flat subscription. That's the entire story.
Which banks work?
+
If it connects to Plaid, Teller, SimpleFIN, or Quiltt — it works. That's virtually every US and Canadian bank, most UK and EU banks, and a long tail of credit unions via SimpleFIN's user-bridge model. You can connect the same account through multiple providers; we deduplicate.
What about transactions that post hours later?
+
We notify on post, always. We also notify on pending where your bank supports it — many do, via Plaid's pending feed or Teller's real-time webhooks. For the rest, the post-time notification still arrives within seconds of the bank marking it settled, usually well before you'd forget what it was.
Can I export everything?
+
Yes. CSV, JSON, or the read API — with your tags, splits, notes, and receipts attached. One click, no quota, no paid tier. If you leave, you walk out with everything.
Stop reconciling. Start triaging.
We're opening invites in small cohorts. Leave your email; we'll send a code when your slot comes up.