Forgiving a debt should be a button
The generous move in lending money to friends is quietly walking away from it. Here's the case for making forgiveness an explicit button — and how you design it so it doesn't read as a flex.
Settle the tab, save the friendship.
Pull up a name
Search anyone on the public ledger — real receipts, real amounts, no filters. They don't even need an account.
Money owed between friends dies in group chats. Asking twice feels rude, so people eat the loss and quietly resent it — tab. replaces the awkward text with a public receipt.
Friends, roommates, and groups who are tired of chasing each other for money — anyone who's ever been ghosted on a Venmo request and wants the debt on the record instead of dying in a group chat.
tab. is a social ledger for the money friends owe each other. Search a name, see the receipts, and file a tab against anyone — they get notified, and the whole ledger is public. Three steps, zero awkward texts: pull up a name, file the tab, then settle (or forgive). The internet remembers when your Venmo request didn't.
It's a native iOS app shipped end-to-end as a solo project: design, build, App Store review, RevenueCat-powered subscriptions, and a live admin console at thetab.io. It survived a real App Store rejection (Sign in with Apple + subscription-link rules) and has been live since June 2026.
The software that actually made it possible.

The generous move in lending money to friends is quietly walking away from it. Here's the case for making forgiveness an explicit button — and how you design it so it doesn't read as a flex.
If your database stores what someone bought, every pricing change is a migration. Store what they can do instead, and pricing becomes config.
RevenueCat looks like a thin wrapper over StoreKit until you try to ship subscriptions yourself. Here's what it actually handles, from shipping a real iOS app.
Lending money to a friend goes wrong quietly. Here's what actually changes when the debt stops living in one person's memory and becomes a receipt you can both see.
The awkward part of splitting a bill isn't the math — it's asking twice. Here's how I stopped eating the loss and started keeping a receipt instead.
tab. didn't pass App Store review the first time. Here's what the rejection actually taught me — and it wasn't about code.