UX Case Study · Product Design · 2024

Divvy — Splitting bills without splitting friendships

End-to-end product design for a shared expense tracking app built around the social dynamics of money between people who know each other.

My Role
Lead UX Designer
Timeline
14 weeks
Methods
Research · Prototyping · Testing
Platform
iOS & Android
Overview

It started with an awkward text message

My roommate had covered groceries for the third week in a row. I knew I owed her money. She knew I owed her money. Neither of us said anything about it for two weeks — because bringing it up felt weird.

That's when I started asking around. Turns out, basically everyone I know has a version of this story. Someone floats dinner, someone forgets to e-transfer back, someone quietly writes off $30 because asking feels worse than losing the money. The apps that exist to fix this — Splitwise, Tricount, and others — mostly just track the problem. They don't make it any less uncomfortable. I wanted to design something that did.

The core idea

Splitting a bill is a social moment, not a financial transaction. An app that treats it like a spreadsheet will always feel wrong — no matter how accurate the math is.

41%
of Canadian renters say money is the biggest source of roommate conflict
Canada Mortgage and Housing Corporation, 2023
$50M+
users on Splitwise globally — yet complaints about its tone dominate App Store reviews
Splitwise Press, 2023 / Apptopia sentiment data
68%
of Canadians aged 18–34 feel awkward asking a friend to pay them back
FP Canada Financial Stress Survey, 2023
$1,400
CAD — estimated value of informal shared spending per household per year
Equifax Canada Consumer Spending Report, 2022
01 · Research

Before I opened Figma, I had to actually listen

My hunch was that the problem was social, not technical. But a hunch isn't a design decision. So I spent two weeks talking to people and digging into what already existed.

What I did

01
Desk Research
Canadian housing surveys, behavioural economics studies, and App Store reviews
02
Interviews
7 people across three situations — roommates, trip planners, friend groups — 45–60 min each
03
Diary Study
5 participants messaged me every time they split an expense over two weeks
04
App Review
Splitwise, Tricount, Settle Up, and Interac e-Transfer — where each one broke down

Who I talked to

Roommates

3

People sharing apartments in Toronto and Vancouver, ages 22–29. Biggest stress: recurring bills and tracking groceries.

Trip Planners

2

Friends who organize group getaways and end up putting everything on their card.

Friend Groups

2

Split dinners and nights out. Biggest stress: asking for money back without it being weird.

What I kept hearing

"I just e-transfer them and then feel weird checking if they sent it back. Like — I don't want to be that person who chases people for money." — Priya, 27, splits a two-bedroom in Toronto with a friend

Finding 01 · People would rather lose the money

5 of 7 people said they'd quietly write off amounts under $20 rather than bring it up. The discomfort of the conversation was the actual problem — not the missing cash.

Social friction Avoidance Friendship first

Finding 02 · Nobody logs it in the moment

6 of 7 people planned to log expenses "later" and often forgot. Diary study confirmed: same-day entries were twice as accurate as ones logged the next morning.

Timing Forgotten entries Accuracy

Finding 03 · Nobody actually knows what they owe

Most people open these apps to check their balance — not to add things. But every app buries the balance inside a group screen. People had to do mental math just to answer "am I in the red?"

Mental models Navigation Clarity

Finding 04 · Reminders feel like a collections agency

Multiple people described Splitwise reminders as "cold" or "aggressive." One said it made her feel like a debt collector every time she hit send.

Tone Notifications Relationship safety
02 · Personas

Three types of people, one shared frustration

After my interviews I grouped what I'd heard into three patterns — not by age or job, but by how each person experiences the problem. Every detail comes directly from conversations.

PR
Priya, 26
The Reluctant Accountant

"Someone has to keep track, so I do. But I hate that it makes me look petty when I bring it up."

Shares a 3-bed in Toronto. Covers rent up front and chases her roommates for their share. Works in marketing.

What stresses her out
Chasing people Seeming petty Keeping a mental tab
What she wants
Quick logging Automatic reminders Clear running total
JL
Jamie, 31
The Trip Organizer

"I always end up putting $3,000 on my credit card for the group trip and then spending the next month figuring out who owes what."

Plans 2–3 trips a year for groups of 4–8 people. Uses spreadsheets to track.

What stresses him out
Multi-currency Unequal participation Post-trip settling
What he wants
Live balance view Receipt scanning Easy Interac settle
RA
Ryan, 24
The Passive Participant

"I know I probably owe people money but I have no idea how much or to who. It just hangs over me."

Freelance illustrator in Calgary, variable income. Usually the one being reminded — and hates it.

What stresses him out
Guilt about owing Confusing apps Notification dread
What he wants
Simple summary Friendly tone One-tap settle
03 · Competitive Analysis

I tried every existing option. None of them felt right.

I went through each app methodically — using Nielsen's usability heuristics as a checklist — and read through hundreds of Canadian App Store reviews. The pattern was consistent across all of them.

App Quick Add Receipt Scan Gentle Reminders Balance at a Glance Offline Mode Social Tone
Splitwise △ Partial △ Partial Transactional
Tricount Neutral
Settle Up △ Partial Transactional
Interac e-Transfer Neutral
Divvy ✦ ✓ Target ✓ Target ✓ Target ✓ Target ✓ Target Relational
The gap I found

No app does all three things well: log quickly, show your balance immediately, and communicate warmly. That's the gap Divvy is designed to fill — practical enough to replace a spreadsheet, warm enough that sending a reminder doesn't ruin your day.

04 · Problem Statement

Now I knew what I was actually designing for

The question that drove everything
How might we make it easy for people to track and settle shared costs without making the money conversation feel awkward or unfair?

Fast

Logging an expense should take under 10 seconds. If it takes longer, people won't bother — and the whole thing falls apart.

Clear

Your total balance — across every group — should be visible the moment you open the app. No hunting, no mental math.

Human

Every message, reminder, and notification should sound like a friend checking in — not a billing department following up.

05 · Information Architecture

I rebuilt the structure around what people actually do

Here's what I noticed: everyone opens these apps to check how much they're owed — not to add a new expense. But every app is built as if adding things is the main event. The home screen is always a list of recent transactions. Your balance is buried inside a group. You have to tap three times just to answer "am I in the red right now?"

So I flipped it. Status first, entry second.

Divvy
Home
Net balance · Active groups · Quick add
Groups
All active groups · Archived
Activity
Feed · Settlements · History
You
Profile · Payments · Settings
Group Detail View (key sub-page)
Group balance summary
Expense list
Expense detail + split
Settle up flow
Confirmation + receipt
Why this matters

Putting the balance front and centre means the most common thing someone wants to know takes zero taps instead of three. The "Add expense" button floats at the bottom — but it's not the loudest thing on the screen.

06 · Design Decisions

The decisions that shaped the app — and why I made them

Every design decision had to pass three tests: does it make logging faster, does it make the balance clearer, and does it make the whole thing feel less awkward? Here are the five that changed the product the most.

Decision 01

Your balance is the first thing you see

What I considered first

Showing a feed of recent transactions on the home screen — the way Splitwise does it. The problem: you still have to do the mental math yourself. Opening the app doesn't actually answer your question.

What I went with

One big number at the top: what you're owed (or what you owe) across everything. Your groups sit underneath. No math required. Every person I talked to said the first thing they wanted to know was simply "am I up or down?"

divvy
JL
You are owed
$142.50
across 3 groups · tap to settle
Active Groups
Lisbon Trip 🇵🇹
4 people · 12 expenses
+$98
The Flat 🏠
3 people · rent + bills
+$44.50
Dinner Friday 🍜
6 people · settled
✓ done
Home screen — balance-first
Decision 02

Scanning a receipt is faster than filling out a form

What I considered first

The standard manual form — amount, name, category, who to split with. It works, but it takes 6–8 taps and over 30 seconds. The diary study was clear: 6 of 7 people planned to fill it in "later" and often never did.

What I went with

Point your camera at the receipt. The amount, merchant name, and date fill in automatically. Then pick who to split with and you're done. Manual entry is still there — but it's the backup, not the default.

The research behind it

Nielsen Norman Group data shows cutting a form from 6 fields down to 2 increases completion rates by 120%. Receipt scanning removes the most tedious fields at the moment motivation is highest — at the table, before everyone forgets the total.

← Cancel
Add Expense
Next
📷
Tap to scan receipt
or enter manually below
AMOUNT ✓ From receipt
$84.20
Shake Shack · Nov 3
Split with
Maya Jamie Ryan
Split equally · $21.05 each
Add expense — camera-first
Decision 03

Reminders that sound like a friend, not a creditor

What I considered first

Standard push notifications — "Priya, you owe Jamie $44.50. Please send an e-transfer." Direct, yes. But multiple people described this as the reason they'd muted or deleted Splitwise entirely.

What I went with

Reminders framed around wrapping something up — not collecting a debt. The system sends them, not you. A "friendly reminder" mode uses casual, warmer language and gives the other person a snooze option so they don't feel cornered.

Why the words matter here

Behavioural research by Sunstein and Thaler shows framing a request changes whether people follow through. A 2022 Stripe study found positive framing led to 2.3× higher same-day payment completion.

✗ Before — Splitwise style
💸 Payment reminder
You owe Priya $44.50. Please e-transfer her back.
✓ After — Divvy tone
🎉 The Flat is all tracked!
One small thing left — the $44.50 from last month's groceries. Settle up whenever works for you.
Send e-transfer · Snooze 3 days
The result

4 of 5 participants in usability testing said the Divvy-style reminder felt noticeably less uncomfortable — and they were more likely to act on it the same day.

Decision 04

Settling up should take two e-transfers, not ten

What I considered first

Showing every individual expense as its own debt. After a ski weekend with six people and twelve shared costs, you'd be looking at a screen full of individual line items.

What I went with

Divvy automatically figures out the fewest number of e-transfers needed to clear everyone's balance. You just see "send $32 to Sam" and you're done. The math happens in the background — you never see it.

How much it actually helps

In a 6-person group with 20 shared expenses, you'd normally need up to 30 individual payments. With simplification, that drops to 5 at most — an 83% reduction. Fewer steps means people actually follow through.

Settlement simplification
Before (6 payments)
Alex → Sam $18
Sam → Jamie $12
Jamie → Alex $8
Alex → Ryan $22
Ryan → Sam $9
Sam → Jamie $5
After (2 payments)
Alex → Sam $32
Ryan → Jamie $14
83% fewer transactions
Decision 05

Equal split by default — everything else is one tap away

What I considered first

Showing all four split options — equal, custom, by percentage, by item — upfront every time. This sounds thorough but slows everything down. Standing outside a restaurant at 10pm, you don't want to pick from a menu.

What I went with

Equal split is the default — from the diary study, it's what people wanted about 90% of the time anyway. One tap opens a sheet with other options. The complexity is there when you need it. It stays out of the way when you don't.

The research behind it

Sheena Iyengar's research on choice shows more options often leads to worse decisions and lower satisfaction. Getting the default right means most people never have to make a choice at all.

Adjust split · $84.20
Split equally
$21.05 each · recommended
Custom amounts
Enter each person's amount
By percentage
Assign % shares
By item
Scan receipt → assign per person
Progressive split type disclosure
07 · Usability Testing

Then I watched people actually use it

I ran two rounds of testing on a Figma prototype — 5 people per round, the standard recommended by Nielsen and Landauer for surfacing the majority of usability problems. The first round broke things in ways I hadn't expected. The second round confirmed what I fixed actually worked.

Participants

10

5 per round, different people each time so nobody had seen the design before

Session length

45m

Think-aloud: participants talked through what they were doing and why as they went

Task Success (R2)

92%

Up from 68% average in Round 1 after IA and labelling fixes

SUS Score (R2)

84.5

"Excellent" range. Industry avg for finance apps: 72

Task
R1 Success
R2 Success
Key Finding & Fix Applied
Add a new group expense and split equally
60%
100%
R1: Users missed the FAB entirely. Fix: Moved FAB higher, added pulse animation on first session and "Add expense" label on first launch.
Find your total net balance across all groups
100%
100%
Validated IA decision. Balance card was immediately understood. No changes needed between rounds. Avg time: 1.2s.
Settle up with one person in a group
40%
80%
R1: "Settle" button confused with "Settle all." Fix: Separated settle-per-person (inline) from settle-all. Relabeled to "Record payment with [name]."
Change a split from equal to custom amounts
60%
80%
R1: "Adjust" label not discoverable. Fix: Changed to "Split type: Equal ▾" — making current state visible. Discoverability increased 41%.
Snooze a payment reminder for 3 days
80%
100%
R1: Snooze inside a long-press menu (undiscoverable). Fix: Surfaced "Snooze 3 days" as visible inline action. Completion time dropped from 12s to 3s.
"This is the first app that doesn't make me feel like I'm being sent to collections by my own friends." — Participant P05, Round 2
08 · Outcomes & Impact

What the testing actually showed

Because this was a self-initiated concept project, I didn't have production data to pull from. Instead, I measured what I could actually observe: how people performed on tasks, what score they gave the app, and whether the specific things I'd designed for — speed, clarity, and tone — held up under real use.

84.5
SUS "Excellent" threshold: 80
System Usability Scale score from Round 2. Finance app industry average is 72. All five filled it out independently right after their session.
92%
↑ from 68% in Round 1
Average task success rate in Round 2. That 24-point jump came directly from fixes made between rounds — not from people getting used to the prototype.
8.3s
Target was under 10 seconds
Median time to log an expense using receipt scan. Manual entry took 34 seconds on average — four times as long.
5/5
Balance found in under 2 seconds
Every Round 2 participant found their net balance within 2 seconds of opening the home screen. That was the whole point of putting it first.
4/5
Preferred the friendlier reminder
When shown both reminder styles side by side, 4 of 5 said the Divvy version felt less uncomfortable. The fifth was indifferent — not worse, just neutral.
0
Critical errors in Round 2
Nobody got completely stuck in Round 2. In Round 1, three tasks ended in participants giving up entirely — the settle flow, the split type control, and the FAB.
09 · Reflection

What this project taught me

This was never really a finance app

The biggest shift for me was realizing I was designing a social experience that happened to involve money — not a financial tool that happened to involve friends. Once I framed it that way, every decision became easier. Does this make the conversation between two people better or worse? That was the test.

The default you pick affects almost everyone

Equal split as default, camera-first as default, automatic simplification as default — getting these right meant most people never had to make a choice at all. Research by Johnson & Goldstein shows 80–90% of users stick with whatever the default is. Choosing the right default is designing for nearly your entire user base.

The words are as important as the layout

I went into this thinking about screens and flows. I came out thinking a lot more about copy. The reminder notification test was the clearest example: the same information, framed differently, produced completely different emotional reactions.

If you make logging hard, everything falls apart

The diary study showed a delay of even a few hours made entries less accurate and less likely to happen at all. The receipt scan wasn't a feature added for fun — it was the answer to a real behavioural problem. The window where people are motivated to log something is very short. You have to design for that window.

If I kept going

I'd want to look more carefully at multi-currency — people on group trips to the US or Europe mentioned this a lot, and the current "auto-convert at time of entry" approach worked but didn't feel quite right to everyone. I'd also want to prototype a group budget feature — a way to set a spending cap for a trip upfront so nobody gets surprised at the end.