ΞRuntab
macOS · early access · invite-only

Your credit card balance,
at the top of your screen.

You know roughly what you spend. You just don't track it day-to-day — checking feels like homework and you have actual work to do. Runtab is a Mac menu bar app that keeps your credit card balance visible without asking for your attention. Glance up, know where you stand.

The Runtab balance at the top of a Mac screen: $1,181 + $199 pend
Your actual balance, in the Mac menu bar, next to the clock. No app to open.

If you recognize any of this, keep reading.

  • You know roughly what you spend every month. You just don't track it day-to-day.
  • You only log into your bank when something forces you to — statement day, travel, a suspicious charge.
  • Every month the total is "more than I wanted" — not shocking, just annoying.
  • You've tried YNAB, Monarch, maybe Mint back in the day. They demanded a ritual you didn't have time for, so you quit.
  • You occasionally wonder if your bank's numbers are subtly wrong — but proving it would mean reconciling statements by hand. Nobody has time for that.

This app was built for that specific person. Me.

Three things it does differently.

1

Always visible. Never in an app.

The balance sits in the Mac menu bar next to your clock. No login, no dashboard, no daily decision to check. You see it whenever you glance up — which turns out to be exactly when you can still do something about it.

2

Receipts against your bank.

Every day Runtab saves an immutable snapshot of what your bank said you owed. Those records never change. If a balance moves in a direction you can't explain, you compare today's numbers to a snapshot from 17 days ago and see exactly what shifted.

3

A running total you can actually trust.

Every transaction adds up to the balance, one line at a time. No hidden rounding, no "posted vs. pending" fog. If the math doesn't line up, the gap is shown explicitly as its own row in the ledger.

This is what always visible looks like.

Click the number and you get the breakdown. No more, no less.

Runtab menu bar dropdown showing total breakdown and recent transactions
Posted + pending authorizations, available credit, and the last 20 transactions with running balance after each.

The full ledger is a ⌘⇧R away.

When you actually want to sit with the numbers, press ⌘⇧R from any app and the native ledger window comes forward. Every transaction in chronological order, the running balance after each one, badges for pending and not-yet-posted holds.

Runtab ledger window with transaction list and running balances
Posted, pending, and payments are color-coded. Search and column sorting are built in.

And every day becomes a receipt.

Runtab snapshots your balance at the end of every UTC day and freezes it. Past days can't be silently overwritten — by your bank, by Plaid, or by Runtab itself. If you ever need to prove what the balance was on the 19th, you just pick the 19th.

Snapshot picker showing Live, 2026-04-22, 2026-04-21, 2026-04-20
Compare any day in the last 90 against any other — or against today's live balance.
Append-only ledger 90-day snapshot history Live vs historical diff Bank outages surfaced explicitly

Where your data actually lives.

Your bank login never touches Runtab — that OAuth handshake is handled by Plaid, which is the same service Venmo, Robinhood, and Chime use for bank connections. Your transaction data is stored on a private self-hosted cluster in Minnesota, encrypted at rest. Not in AWS. Not shared with anyone. Not sold. Not used for ads, because there are none.

Plaid-based OAuth Self-hosted infrastructure TLS + Let's Encrypt certs Keycloak SSO SOC 2 Type 1 in progress

Price

$5/month or $48/year. 7-day free trial, cancel anytime. Mac-only. Requires macOS 13 or later.

No ads, no upsells, no free tier with locked features. One person built this, one person maintains it, and it charges for itself to stay that way.

Reserve early access at $5/month No charge now. I'm using reservations to decide how many beta slots to build out — reserving is a stronger signal than the waitlist.

A note from the person who built this.

I build software for a living. For most of my career I've had a specific rhythm with credit cards: spend reflexively, ignore the statements, pay the balance off in one chunk when something forces me to look. Not a crisis — just not optimal. It was taking mental bandwidth I wanted back for actual work.

I tried the big personal-finance apps. They want a daily or weekly ritual — categorize these transactions, adjust these envelopes, reconcile these accounts. I don't have that ritual in me. I have engineering deadlines.

So I built Runtab to stop thinking about my credit card while still knowing what I owed. The number lives at the top of my screen whether I want it to or not. I'm not surprised anymore.

— Dean

Join the waitlist.

The lightweight option: drop your email and I'll get in touch when early access opens. Want to skip the line? Reserve a slot at $5/month instead (no charge now).

One email, no marketing. You hear from us when the trial opens — or not at all.

Frequent questions

Why not free?
Your data lives on real infrastructure that costs money, and connecting to your bank via Plaid costs money per month. This is a one-person operation with no ads, no data sharing, and no VCs — the subscription is what keeps it that way.
Why Mac-only?
An always-visible menu bar is the entire product. Phones and Windows don't have the same ambient surface. The form factor is the value — adding platforms would dilute it.
Can I self-host this?
Not right now. Plaid's per-user approval process makes that impractical for anyone who isn't a developer. If that changes, I'll revisit.
What if my bank's data is wrong on a given day?
You'll see the discrepancy in the ledger and have a tamper-proof snapshot of what the bank said the day before. That's most of the point.
What happens when my bank's OAuth session expires?
You get a "reconnect" banner in the menu bar. One click, 30 seconds of credentials, you're back. Runtab also detects when your bank is having a service outage and surfaces that instead of silently showing stale numbers.
Who is this for?
One person, one credit card. Someone who earns more than they track and wants to keep it that way without ending up surprised. I'll build for other shapes (multiple cards, couples, business accounts) later if the first version lands.