Hati
The story
Splitting bills after eating out is one of those small local problems that becomes annoying fast. People order different things, some food is shared, service charge shows up at the end, someone paid first, and someone already sent a partial payment. Then one person has to turn the receipt into a fair breakdown while everyone in the chat asks, “Magkano ako?”
I wanted Hati to feel like a table utility: open it, add the receipt, share the breakdown, move on. The important constraint wasn’t “make another finance app.” It was keeping the organizer flow fast while making the participant flow almost frictionless.
That led to the link-first model. The organizer uses the native app. The group opens the shared web page, each person sees their own amount, and paid status is tracked without anyone creating an account. The app doesn’t move money; it computes the breakdown clearly and makes collecting less awkward.
The iOS app is built with SwiftUI and SwiftData for the local organizer flow. StoreKit powers Hati AI purchases for receipt import. Convex handles shared splits, participant links, file storage and receipt parsing, and a Next.js web companion lets friends view their share without installing anything.
What came of it
Hati launched as my first Apple app on the App Store. Since launch it has reached 156 downloads, handled 200+ completed splits and tracked 200k+ in shared expenses.
Shipping an App Store app felt different from a web project: privacy copy, StoreKit, share links, local and cloud state, review flows. A small product can still have a lot of surface area when it sits inside a real social moment: the table, the receipt, the group chat, and the person collecting money all matter.