← All work

Personal finance · AI · 2025

Tally

Money, explained like a friend.

Answer the question people actually ask: a 30-day forecast, a chat that shows its working, and a subscription killer that never shames.

  • Product
  • UI/UX
  • AI-native
  • Frontend
Role
Concept project · brand + product design
Year
2025
Disciplines
Product · UI/UX · AI-native · Frontend
tally.app

01 The problem

Budgeting apps tell people what they did wrong (red bars and categories), never what they can do next. So people open them once, feel guilty and leave.

02 Key decisions

01

Safe to spend, until payday

One number, a 30-day forecast and a floor you set. Tally warns you before the 17th, not after.

02

Ask, and see the maths

“Can I afford Lisbon?” returns a costed answer, the transactions behind it, and one change that makes it fit.

03

Never shame, always suggest

Every warning comes with exactly one action: move £200, pause a subscription.

03 Designing the model’s behaviour

prompts/tally.ask.md
You answer money questions for one person, using their data.
Rules:
- Lead with yes / no / not yet. Then the number.
- Show the three biggest inputs, linked to transactions.
- Offer exactly one change that would make it work.
- Never use: should, irresponsible, overspent, bad.

04 Built in code

forecast/Forecast.tsx
 1export function Forecast({ txns, floor, today }: Props) {
 2  const days = project(txns, { horizon: 30, recurring: detectRecurring(txns) })
 3  const dip = days.find(d => d.balance < floor)
 4  return (
 5    <Chart days={days} floor={floor} today={today}>
 6      {dip && <Callout at={dip.date}>Dips to {fmt(dip.balance)}</Callout>}
 7    </Chart>
 8  )
 9}

05 Then I tried to break it

CaseiOSWebBank ABank B
Payday moves for a holiday✓✓✓!
Refund after the forecast✓✓✓✓
Card spend abroad✓✓✓✕
Dynamic Type XXL✓✓✓✓
  • Pending transactions never double-count
  • Foreign spends converted once
  • “Safe to spend” never wraps
  • Missing merchant logos fall back to initials

✦ What I’d measure

Day-60 retentionvs. the category average
Forecast accuracywithin ±£20
Subscriptions cancelledper user, first 90 days

Concept project. These are the success measures I designed for, not reported results.

→ What I’d do next

Say how sure Tally is (“likely £486, could be £420”) instead of one confident number.

Next case studyMarginHints, not answers, in the margin.
→