Tend
A shared money app for families looking after someone, and a unified interface for the home-care agencies that work with them. Everyone pays into one care fund, and Tend sorts receipts into what you can claim at tax time.
- Problem
- Families pay for a relative’s care from one person’s account and settle over text like a complicated Venmo transaction. Sometimes, receipts go missing before tax time.
- My role
- Product design end to end: framing, flows, UI, metrics and the prototype brief.
- What I made
- A family app and an agency console on one shared ledger, each with a working prototype.
- Where it stands
- Working prototype. We’ve been using it for my brother’s care.
The Tend agency console. Priya, a care coordinator at Bayview Home Care, sees three purchases that need her and two that Tend approved by itself. The open request is Grace’s $162.40 grocery run for Rose, flagged because it’s over her weekly limit. Close-ups show the policy checks and the audit log, and a phone notification tells Rose’s family the agency is reviewing it.
01Why I made this
Caregiving comes with... a lot of paperwork 😭
I’ve helped care for my brother my whole life and people are surprised to hear that a lot of that care is paperwork. Things like receipts, records and miscellaneous forms. It gets easy to lose track of and annoying to figure out who’s paying for what.
Care is a team effort, and when it all falls on one person it gets stressful fast. I wanted to make it easy for everyone involved.
Banks offer only a joint account (or nothing), which doesn’t work for most families. A lot of care costs also count toward Canada’s Medical Expense Tax Credit, but only if someone keeps track of the receipts.
02How it got here
Three early directions
A · Debt ledger
“owes” on a care app feels awful
The Splitwise model works for college roommates (I can personally vouch for that!), but when it comes to taking care of a loved one, it can become a hassle, with the person doing the most ending up chasing everyone for receipts. Most people don’t want to chase family for money either, so one person often feels like they have to pay for all of it.
B · Shared card first
good for groceries, not much else
A shared card is great for the support worker’s grocery runs, but most care costs never go on it. Pharmacy runs end up on someone’s own card, and agency invoices show up by email.
C · Receipt inbox first
every cost leaves a receipt
Almost every care cost comes with a receipt, no matter who paid or how, so this is the one we kept.
The ledger and the card solves individual problems, but the inbox is the umbrella. Through that, we put the fund and the card underneath it.
The receipt screen (shown four times 🧾)
-
v1 · Wireframe
Every field looked the same, so nothing told you where to look.
- MerchantLoblaws98%DateSep 2962%Total$96.0896%Paid withCard ··482199%4 line items81%Save
v2 · Lo-fi
Every field showed how sure the model was, like “62%” next to the date. That helped me while testing, but a caregiver seeing 62% has no idea whether to fix it.
-
Receipt
Loblaws$96.08DateSep 29?BriefsEligibleGauzeEligibleGroceriesNot eligibleThickener?Save2 questions below ↓
v3 · Mid-fi
Closer. But Save was always live, and it was easy to tap it right past the questions.
- 9:41AA
← Rescan
Check what I found
MerchantLoblaws98%DateSep 29CheckTotal$96.0896%Paid withCare card ··482199%Line items
- Incontinence briefs (L)$24.99
Eligible Incontinence products count as medical expenses.
- Gauze pads$6.29
Eligible Wound care supplies count.
- Groceries (8 items)$46.31
Not eligible Regular groceries don’t count.
- Thickening powder$18.49
Your call Counts if a doctor prescribed it. Do you have a prescription?
Yes, it qualifiesNo
Answer the highlighted itemsv4 · Hi-fi, current
Unsure fields turn amber so you know to check them, and each item gets a reason. Save waits until you’ve answered.
03The system
Everything runs through one fund
For instance, Mom’s disability benefits from the government and the family’s top-ups go into one fund, and care gets paid out of it. Because the money goes through one place, Tend can sort spending for tax time and nobody has to spend time keeping track.
The system · money
Where a month of care money goes
More detail: who can do what
There are four roles, and by default nobody gets more than their job needs. People see each role as a sentence, generated from the table underneath.
The system underneath
| Capability | Organizer | Contributor | Viewer | Card holder |
|---|---|---|---|---|
| See balance | ●Yes | ●Yes | ●Yes | No |
| See transactions | ●Yes | ●Yes | ●Yes | own |
| Add money | ●Yes | ●Yes | No | No |
| Scan receipts | ●Yes | ●Yes | No | ●Yes |
| Spend with card | ●Yes | No | No | $150/wk |
| Approve over-limit | ●Yes | No | No | No |
| Manage people | ●Yes | No | No | No |
| Export tax summary | ●Yes | ●Yes | No | No |
8 capabilities across 4 roles. Engineers and support staff need this view but families shouldn’t need to read this.
What people see
- A
Anna can see everything and decides who gets access.
- D
Daniel can add money and scan receipts. He sees every transaction.
- M
Mei can see the balance and history, but can’t move money.
- G
Grace can spend up to $150 a week at pharmacies and grocery stores. She can’t see the balance.
The sentences are generated from the table, so what people read always matches what the system does.
04The AI
Deciding when the AI should ask
Every field the AI reads comes with a score for how sure it is. If Tend auto-accepts low scores, wrong amounts can slip into a tax record that someone has to sign. If it only accepts high scores, people end up answering a question on almost every receipt, which gets old fast.
I set it at 0.80, just before automation drops off sharply. Drag the slider to try other settings.
Model confidence per extracted field
The trade-off
At 0.80, about 7 in 10 receipts save without a question. On average that’s 0.6 taps per receipt (you may notice that this is where the curve bends!). Errors are rare enough for a tax record and most receipts still save in one go.
Sample data: 800 receipts with 5 fields each, from a seeded random model. About 15% of the receipts are hard to read.
More detail: the receipt pipeline
The system · AI
How a receipt becomes a tax-ready record
05The family app
Getting a receipt in
Mom’s care fund
$1,284.50
Available · 4 contributors
$1,960.00 of $3,150.00 October care budget
Recent
- RxShoppers Drug MartMedical · eligible · Anna−$42.18
- ↗Wheel-TransTransport · Grace−$7.50
- +Daniel’s monthly top-upContribution · Daniel+$300.00
- GrNo FrillsGroceries · Grace−$38.40
← Rescan
Check what I found
Line items
- Incontinence briefs (L)$24.99
Eligible Incontinence products count as medical expenses.
- Gauze pads$6.29
Eligible Wound care supplies count.
- Groceries (8 items)$46.31
Not eligible Regular groceries don’t count.
- Thickening powder$18.49
Your call Counts if a doctor prescribed it. Do you have a prescription?
Yes, it qualifiesNo
- 1The balance is the only large figure on the screen (I dimmed the cents).
- 2Spending is shown against the budget the family agreed on, and there’s no red “over budget” state.
- 3Anything the model wasn’t sure about waits here, so nothing gets saved without someone seeing it.
- 4Scanning is what people come back to do. It gets the only filled button.
- 5When the model’s sure, the field shows a small green percentage you can glance at.
- 6Below the threshold, the field goes amber so you know to double-check it.
- 7Each eligibility tag comes with a sentence based on CRA rules, so you can explain the claim later.
- 8You can’t save until the questions are answered. The button says what’s left.
Try the working prototype
Scan the grocery receipt and it separates the care supplies from the groceries, then asks about the one item it can’t decide on. In People, changing Grace’s access rewrites the sentence underneath.
Mom’s care fund
$1,284.50
Available · 4 contributors
$1,960.00 of $3,150.00 October care budget
Recent
- ↗Wheel-TransTransport · Grace−$7.50
- +Daniel’s monthly top-upContribution · Daniel+$300.00
- ✚Physio PlusMedical · eligible · Anna−$95.00
- GrNo FrillsGroceries · Grace−$38.40
More detail: sharing, tax time and edge cases
People & access
Everyone gets the access they need and nothing more.
- RRoseMom · getting careOrganizer
- AAnnaYou · daughterOrganizer
- DDanielSonContributor
- MMeiGranddaughterViewer
- GGracePersonal support workerCard holder
Grace can spend up to $150 a week at pharmacies and grocery stores. Grace can’t see the balance.
OrganizerContributorViewerCard holder
Tax time, handled
Eligible medical expenses · 2026
$4,382.40
Sorted as each receipt came in.
- Disability Tax Credit approved (Form T2201 on file)
- 26 receipts matched to expenses
- 2 receipts need a prescription photo
- Support worker hours need a doctor’s note
Tend keeps your records. It doesn’t give tax advice.
- 1Family and paid help share one list, and everyone’s relationship to Mom is always showing.
- 2Grace’s limits are written the way you’d say them out loud. The permission table sits underneath.
- 3Roles change in one tap. Someone covers for a week, then hands it back.
- 4The tax screen leads with the one number you need in April. It’s been adding up all year.
- 5Each open item says what’s missing, like a prescription photo.
- 6Tend keeps your records organized but doesn’t give tax advice, and it says so next to the export button.
Confidence chip · 4 states
High · ≥ 0.90 · quiet green %
Medium · 0.80–0.89 · neutral %
Low · < 0.80 · field turns amber
Confirmed · checked by a person · logged
Eligibility tag · 4 states
Rules
- Colour is never the only signal, since each state also has a word.
- Amber means “needs you”. There’s no red anywhere in the money UI.
- All tap targets are ≥ 44px, and ≥ 52px in large-text mode.
- Every tag passes WCAG AA for text. The lowest pair is Eligible at 5.2:1.
A misread receipt, found in March
Every saved field keeps the original photo crop and who confirmed it. Fixing it updates the tax summary and adds a note to the history.
A support worker leaves
Removing Grace freezes her card right away. Her past purchases stay in the history, and the organizer gets a heads-up.
Mom wants control
The person getting care can be the organizer, with family as contributors.
No signal at the hospital
Photos wait on the phone and get read once you’re back online.
06Tend for agencies
The same system, run by a home-care agency
A lot of families also pay an agency, and the agency’s personal support workers end up buying groceries and picking up prescriptions. Today they use mostly cash and paper receipts, which is inefficient. Tend gives each worker a card and gives the coordinator a console.
Approvals
3 need you · 2 approved by policy today
Groceries · Rose L.
No Frills $162.40
Policy checks by Tend
- ✓Merchant categoryGroceries is allowed for Rose L.
- !Weekly limit$162.40 this week. Grace’s limit is $150.
- ✓Receipt attachedItemized, 14 lines, read at 97% confidence
- ✓Items match categoryNo alcohol or gift cards found
Context from Tend
Two shops were combined into one this week, and the total is about double her usual.
- Tend checks every request against the policy and shows each check. Coordinators see why something was flagged instead of a risk score.
- Policy changes go to the family organizer before they apply. The agency runs the card, but the family still decides where the money goes.
- The audit log can’t be edited. Agencies get audited too, and a log anyone can change wouldn’t help them.
- There’s one ledger and two exports. The family statement and the billing CSV come from the same records, making them consistent.
One system, two front ends
Families and agencies share the same core
07Design system
Building trust into the components
The family app and the agency console use the same components. I spent the most time on the policy check, since that’s where people decide whether to trust what Tend did. Every state it can be in is drawn out below, along with the design tokens.
Policy check row · 2x
every check is a sentence, never just a red dot
Check states
- ✓PassedPharmacy is allowed for Dev P.
- !FailedOver the weekly limit by $12.40
- …WaitingReceipt requested from Marcus
- POverriddenApproved once by Priya, 9:14 AM
Request status pill
Colour tokens
--a-ink#1d1820Text, primary buttons--a-ink-2#57505cSecondary text--a-plum#5d3e66Selection, focus, the brand--a-amber#74500fNeeds a person--a-ok#2f6a45Passed, approved--a-line#ebe7eeDividers, card edges
Type
- Display
26 / 1.1 · Instrument SerifAmounts, record titles - Heading
17 / 600 · InterView titles - Body
13 / 1.45 · InterEverything else - Meta
11.5 / 400 · InterTimestamps, who did what
Spacing
4681012141822
Two scales on purpose. The console runs tight at 4–22px. The family app runs bigger, with 44px tap targets and 52px in large-text mode.
08Launch and metrics
A small beta first: 5 families and 1 agency
In v1
- Receipt scanning with review questions
- The shared fund and four roles
- Agency approvals and the audit log
- Family statements and a CSV export
Cut for now
- Bank linking. Top-ups are manual at first.
- RDSP and ODSP planning
- QuickBooks sync
- Receipts in languages other than English and French
09Engineering handoff
What engineers get with the designs
For engineering
Receipt states
More detail: data model and analytics events
For engineering
Data model
receipt_capturedA photo, email or card transaction comes inTime to logfields_extractedThe model returns fields with confidence scoresSaved with no questionsreview_answeredA person confirms a field or answers “your call”Time to logreceipt_acceptedA receipt reaches the ledger, auto or by a personSaved with no questionsfield_correctedSomeone edits a field after it was acceptedField correctionsapproval_decidedAn agency request is approved or declined, with failed checksRequests needing a personexport_sentA family statement or billing export goes outAdoption (agency)