Skip to content
Back to writing

Building TreeFiddy: An AI Expense Tracker

The Problem with Expense Tracking

I’ve tried every expense tracking app on the App Store. They all have the same problem: too many steps.

Think about it. You buy a coffee. To log it, you need to:

  1. Pull out your phone
  2. Open the app
  3. Tap “Add Expense”
  4. Enter the amount
  5. Select a category
  6. Type a description
  7. Confirm the date
  8. Hit save

That’s 8 steps for a $4 coffee. No wonder most people give up after a week.

A Better Approach

What if you could just type “coffee $4.50” and be done with it?

That’s what I set out to build. An expense tracker that understands natural language.

How It Works

The magic is in the parsing. When you type “uber to airport $35”, the app needs to understand:

  • Amount: $35
  • Category: Transportation (because “uber”)
  • Description: “to airport”
  • Date: today (implicit)

This is where Apple Intelligence comes in. Instead of writing a bunch of regex patterns, I’m using on-device ML to understand the intent.

func parseExpense(_ input: String) async -> Expense? {
    let result = await intelligenceService.parse(input)
    return Expense(
        amount: result.amount,
        category: result.category,
        description: result.description,
        date: result.date ?? Date()
    )
}

Privacy First

All processing happens on-device. Your expense data never leaves your phone. This is a core principle, not an afterthought.

Lessons Learned

1. Start with the happy path

Don’t try to handle every edge case on day one. Get the basic flow working first.

2. Sweat the details

The difference between “good” and “great” is in the micro-interactions. How does it feel when you save an expense? Is there satisfying feedback?

3. Dogfood ruthlessly

I’ve been using the app for all my expenses. Every friction point I hit, I fix immediately.

What’s Next

I’m targeting an App Store release in early 2025. Still need to:

  • Polish the onboarding flow
  • Add basic reports and charts
  • Figure out the business model
  • Write App Store copy

If you’re interested in beta testing, let me know on Twitter.