Daksh / tab
tab app icon

Split the bill, settle up in the fewest payments

Make a group for the flat, the trip or the dinner, log who actually paid, and tab works out who owes whom — then names the smallest set of payments that clears the whole tangle.

four split modes multiple payers per bill SQLite, stdlib only PWA — installable no ads, ever
the features

What tab does

The parts of Splitwise you actually used, without the parts you did not.

Four ways to split

Equally, by exact amounts, by percentage, or by shares — 2:1:1 when one person has the big room. Pick per expense, not per group.

Several payers on one bill

Three people chipping in for one dinner is one expense with three payers, not three expenses you have to reconcile by hand later.

Settle up in the fewest transfers

Six people owing each other in a tangle settle in five payments, not thirty. tab computes the minimum set and tells you exactly who pays whom.

Friends, without a group

Add someone by username, they accept, and the two of you get a shared one-to-one ledger. Dinner you covered, their half of a cab, the thing you picked up for them.

People do not need accounts

Add someone to a group by name and start splitting immediately. When they sign up later they claim that name with the invite code and keep every bit of history logged against it.

A dashboard across everything

One screen spanning every group and friend: who owes you, who you owe, and what is still outstanding.

Money that actually adds up

Every amount is an integer number of paise or cents end to end — nothing is held in a float. Splits use largest-remainder rounding, so 100.00 three ways comes out 33.34 / 33.33 / 33.33 and the parts add back to the total exactly.

Groups keep their own currency

The flat in one currency, the trip abroad in another, without either one contaminating the other.

Installs to your phone

tab is a PWA — install it from the browser and it gets its own icon and full screen. The service worker caches the shell but never the API, because a stale balance is worse than no balance.

Nothing leaves the server

tab makes no outbound network calls, and no page loads a script, font or image from anyone else's domain. Its own test suite fails if either stops being true.

side by side

tab vs. Splitwise

Splitwise is a good product with a business model attached. tab is the same maths without one.

tabSplitwise
Ads in the appNoneYes, on the free tier
Paid tier upsellNoneSplitwise Pro
Runs on your own serverYesNo
Split equallyYesYes
Split by exact amounts, % or sharesYesPro for some modes
Several payers on one expenseYesYes
Minimum-payment settle upYesYes
One-to-one ledger without a groupYesYes
Currency conversionNo — per-group currencyYes
Receipt scanningNoPro
Third-party trackersNoneYes
PriceFreeFree tier, then paid
under the hood

How it's built

One Python file, one SQLite database, and a test suite that drives a real server over HTTP.

The whole backend — accounts, API, split maths and settle-up — is a single server.py on the Python standard library with no dependencies and no build step. Data lives in SQLite in WAL mode, so a reader loading a group never blocks a writer adding an expense. The frontend is vanilla JS. The test suite starts an actual server on a spare port against a throwaway database and runs 84 checks over HTTP: the split maths and rounding, the settle-up algorithm, access control, private friend ledgers, hostile input, and the privacy claims the terms page makes about the code.

questions

Frequently asked

Is tab free?

Yes, completely. There is no pro tier, no ads and no upsell when you add an expense — it runs on a server I already pay for.

Do the people I split with need to sign up?

No. You can add someone to a group by name and start splitting straight away. If they sign up later they claim that name with the group's invite code and inherit all the history already logged against it.

Can it handle different currencies?

Each group has its own currency, so the flat and the trip abroad stay separate. tab does not convert between currencies inside a single group.

How does it get the rounding right?

Every amount is stored as an integer number of minor units — paise or cents — and never as a float. Splits use largest-remainder rounding, so the parts always add back up to the total exactly.

What happens to my expenses if I delete my account?

Your login and sessions are destroyed, but your share of expenses you split with other people stays in those groups against your name. If deleting your account erased your half of a dinner, everyone else's balance would silently shift to cover it. Groups only you were in are deleted outright.

Can I install it on my phone?

Yes. tab is a PWA, so Chrome's install button or Share then Add to Home Screen on iOS gives it its own icon and full screen, with no browser chrome.

Try it

Signup is open and it costs nothing — tab runs on a server I already pay for.

also here

The other two