NoOweExpense splitting,
without the setup.
No account. No loading screen. No cloud sync.
Open the app and split. Everything runs locally on your device. Works offline, always.
NoOweOutstanding
$107.67
across 2 bills
Why we built this
Bill splitting should be faster than passing cash.
Someone pays for the table. Nobody's on the same app. The group chat becomes a debt tracker. It always goes this way.
So we built something that stays out of the way.
The usual friction
Wait, what app do you use again?
Hold on — I need to make an account first.
No signal here. It won't sync.
Still loading. It's been five minutes.
NoOwe: open it, split it, done.
Why NoOwe
Not just another split-the-bill app.
Most expense apps depend on accounts, syncing, and internet. NoOwe works without them.
Works anywhere
No signal, no Wi-Fi, airplane mode. Everything runs on-device. No internet, ever.
Instant to open
No loading screen, no account flow. Open it and start splitting immediately.
No account needed
Enter a name and payment handle. Nothing to verify, nothing to remember.
Scan any receipt
Point at a receipt. ML Kit reads it on-device. No upload, no waiting.
SMS reminders
Sends through your native Messages app. You review and approve before anything goes out.
Open source
GPL-3.0. Built in the open. Read it, fork it, build on it.
How it works
Open. Split. Done.
No tutorial required. NoOwe is immediately obvious.
Set up once
Add your name and payment handle. Stored locally on-device.
Create a bill
Scan a receipt or enter items manually. Assign who ordered what.
Track balances
See who owes what, calculated instantly on-device.
Send a reminder
NoOwe drafts the message. Your native Messages app sends it.
Built for real life
Wherever people split costs.
Works where other apps struggle. On planes, at festivals, and off the grid.
Works the same whether you have 5 bars or none.
Architecture
Local-first,
by design.
NoOwe has no server because it doesn't need one. Bills and balances never leave your phone.
Cloud app
Sends data to servers
NoOwe
Everything stays local
~/Documents/NoOwe/ (on your device)
bills.json
Completed bills
< 10 KB
draft_bills.json
In-progress entries
< 10 KB
settings.json
Profile and payment handles
< 0.5 KB
preferences.json
Theme setting
0.1 KB
No server endpoint
Nothing to call. It doesn't exist.
Privacy
Private by architecture,
not just policy.
Most apps ask you to trust their privacy policy. NoOwe removes the need for trust.
Your data, your device.
Everything is a local file. No path exists for it to leave.
Zero analytics.
No tracking SDKs. No crash reporters. The app doesn't phone home.
Open to audit.
GPL-3.0. Every claim here is checkable in the source.
Nothing to breach.
No server to compromise. No database to dump. That infrastructure was never built.
Skeptical? Good. The source is public. Read it on GitHub and verify every claim yourself.
The Team
Six students.
One shared problem.
A senior design project at Stevens Institute of Technology that became something we actually wanted to use.
Arjun Gore
Local Systems Developer
Built the offline core that keeps the app working when everything else doesn't.
Owen Ungaro
Dashboard Gremlin
Built the balance tracker and dashboard. Somehow also became the website person.
Aditya Kumaran
App Infrastructure Guy
Built the app architecture and the part everyone blamed when scanning broke.
Ananya Shrivastava
Design Department
Designed every screen and the visual system. If it looks intentional, that's her.
Stay in the loop
Get notified when we launch.
No spam. Just a note when the app is ready.