Keep tabs.
Split bills.
Settle up.
Self-hosted expense sharing. Create a room, share the code, split everything. No signup, no tracking, no BS.
Everything you need.
Nothing you don't.
5-letter room codes
Create a room, share the code. Anyone can join instantly without an account.
Equal or custom splits
Split equally, by percentage, or exact amounts. Your call.
Automatic balances
The app computes who owes what in real time. No spreadsheet needed.
Self-hosted
Your data stays on your server. No third-party tracking, no cloud lock-in.
Custom accent
Make it yours. Pick the accent color that matches your style.
No auth required
Just a name. No email, no password, no verification.
Dark, minimal, fast
Nothing-style design. Pure black, hairline borders, zero clutter.
Four steps to even.
Create a room
Or join with a 5-letter code. No account, no email. Pick a name and you are in.
Add expenses
Who paid, how much, what for. Log every shared cost as it happens.
See who owes what
Balances update automatically. The app figures out the optimal split.
Settle up
Mark debts as settled. Clean slate, everyone paid, no awkward math.
Built for people who
hate overhead.
Deploy in
60 seconds.
One docker-compose file. Your database, your server, your rules. The entire backend is a single container.
services:
tabbr-backend:
image: ghcr.io/wyligr/tabbr-backend:latest
ports:
- "8000:8000"
environment:
- DATABASE_URL=postgresql://tabbr:tabbr@db:5432/tabbr
depends_on:
- db
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: tabbr
POSTGRES_PASSWORD: tabbr
POSTGRES_DB: tabbr
volumes:
- tabbr-data:/var/lib/postgresql/data
volumes:
tabbr-data:
Stop splitting hairs.
Start splitting bills.
Download the app, create a room, share the code. That's it.