Hati.
Pay once. Split instantly.
A bill-splitting wallet for barkadas in the Philippines. You pay any QR Ph merchant from your Hati wallet, and the app offers to split the bill right then, while everyone is still at the table.

Someone always pays first.
Every barkada has one: the friend who says “ako na muna” and covers the whole dinner. Then the real work starts. Working out who had what, sending account details in the group chat, and asking again a few days later without sounding like a bill collector.
Sending ₱900 takes seconds. Remembering to ask for it, and asking twice, is the hard part.
Splitting happens hours or days later, when nobody remembers the receipt anymore.
Reminders come from a friend, not a system, so people let small amounts slide.
How might we make splitting happen at the moment someone pays, so nobody has to chase anyone later?
Who it’s for: friend groups eating out, roommates sharing bills, and barkadas on a trip together.
One flow, from scan to settled.
Most split apps start after the fact: you open a separate app and type in what happened. I mapped Hati the other way around. Paying is the entry point, and splitting is just the next step in the same flow.
1Scan any QR Ph code
2Pay from the wallet
3“Split this bill?”
4Pick the barkada
5Track who still owes
Key decisions
- Ask right after paying. The split prompt appears on the success screen, when the people and the amount are still right there.
- Always allow “Not now”. Not every payment is shared, so the prompt is a sheet you can dismiss, not a forced step.
- Let the app do the asking. Requests and reminders come from Hati, so nobody has to send the awkward follow-up.
- Settle up any way. Pay from the wallet, scan a friend’s QR, or attach a receipt if you already paid another way.
Friendly, clear, and peso-first.
Money apps can feel cold, but this one lives inside friendships. I aimed for something warm and a little playful, while keeping every amount big and impossible to misread.






Colour
Green for trust and “money in”, warm yellow for groups and highlights, coral for what you owe. Cream instead of white keeps it soft.
Voice
“Magandang gabi, Ana” · “Migs, Bea and Paolo get a friendly request”
Taglish greetings and gentle wording. Hati means “share” or “half” in Filipino, and the copy tries to sound like a friend, not a bank.
Vibe-coded into something you can tap.
Instead of stopping at static frames, I built Hati as a working prototype with AI as my pair programmer. I set the direction, the flows and the design rules; the AI drafted code fast; I reviewed every screen and state until it felt right.
Tapping through a real build shows things static frames hide: a step that feels slow, a sheet that gets in the way, a number that’s hard to read on a small screen. That’s why I like to build early and iterate in code.
States I made sure to cover
- Wallet balance before and after paying
- Skipping the split with “Not now”
- Pending, paid and waiting-on-you requests
- Shares that don’t add up to the total
- Paying a friend back outside the app
What I’d test next.
Since Hati hasn’t met real users yet, the next step is proving my assumptions instead of polishing more screens.
Test with a few friend groups: how often do people tap “Split” versus “Not now” right after paying?
Try different reminder wording and timing, and check that they never feel like collection notices.
A live wallet with QR Ph payments would need a licensed payments partner. That shapes onboarding, limits and trust cues.
What I learned
The best moment for a feature is often inside another one. Splitting works better as part of paying than as its own tab.
Vibe coding is fastest when the design thinking comes first. Clear flows made the AI’s code better on the first try.
For money between friends, tone matters as much as layout. Small words like “friendly request” change how a feature feels.
