Traffic Light Finance: ADHD-Friendly Money Monitoring

← lab

Traffic Light Finance: ADHD-Friendly Money Monitoring

Color-coded financial health beats spreadsheets. How I stopped obsessing over numbers and started using traffic lights.

I spent years checking my bank balance multiple times a day.

It never helped. It just fed anxiety.

The Problem with Numbers

When you have ADHD, raw financial data is cognitive poison. You see “$12,453.67” and your brain has to:

  1. Calculate burn rate
  2. Remember upcoming bills
  3. Account for pending transactions
  4. Decide if that number is “good” or “bad”

That’s exhausting. And I was doing it 5-10 times a day, getting nothing useful out of it.

Enter Traffic Lights

I needed a system a toddler could understand. Three colors:

  • 🟢 Green: 30+ days of runway. Relax.
  • 🟡 Yellow: 15-30 days. Be mindful.
  • 🔴 Red: Under 15 days. Pay attention.

That’s it. No spreadsheets. No mental math. Just: what color am I?

How It Works

My Neatworld system connects to my bank accounts via SimpleFIN. Every hour, it:

  1. Pulls current balances across all accounts
  2. Calculates total liquid funds
  3. Looks at average daily burn rate (rolling 30-day)
  4. Divides balance by burn rate = runway days
  5. Assigns color based on threshold

The calculation:

def get_traffic_light_status(balance, daily_burn):
    runway_days = balance / daily_burn
    
    if runway_days >= 30:
        return "green", runway_days
    elif runway_days >= 15:
        return "yellow", runway_days
    else:
        return "red", runway_days

Simple. Effective. No overthinking.

Auto-Categorization

The burn rate calculation needs accurate categorization. Every transaction gets tagged:

  • Brand.i — Adobe, design tools, creative expenses
  • MagHugg — Shopify, inventory, product costs
  • Van — Starlink, gas, campground fees
  • Personal — Food, coffee, random life stuff

I built a rule engine that matches vendors to categories. It learns from corrections. After the first month, accuracy hit 90%+.

# Example rules
rules = {
    "ADOBE": "Brand.i",
    "SHOPIFY": "MagHugg",
    "STARLINK": "Van",
    "STARBUCKS": "Personal"
}

When a new vendor appears, the AI suggests a category. I correct it once, and it remembers.

The Conversational Interface

Here’s how I actually use this:

Me: “Can I afford $500 for that monitor?”

AI: “Yes, but it would drop your runway from 32 to 28 days. Still green. Your Citi card has a $4,200 balance due in 12 days though.”

That’s the interaction. Not a dashboard. Not a graph. A conversation with context.

The AI (Claude tool use, specifically) has access to:

  • Current balances
  • Pending transactions
  • Upcoming bills
  • Historical spending patterns
  • Categorized burn rate by business

It synthesizes all that into a human answer. No mental overhead on my end.

What Actually Changed

Before this system:

  • Checked bank accounts 5-10 times daily
  • Still made impulsive purchases
  • Chronic low-level money anxiety
  • No clear picture of burn rate

After:

  • Check status once a day, if that
  • “Can I afford this?” becomes a quick question
  • Color tells me everything I need to know
  • Burn rate is automatically tracked and surfaced when relevant

The key insight: I don’t need to know my exact balance. I need to know if there’s a problem.

The Psychology Shift

Removing numbers from my daily view was counterintuitive. Shouldn’t I be “more aware” of my finances?

Turns out, no. Constant exposure to numbers created decision fatigue. Every purchase became a calculation. Every balance check triggered anxiety.

The traffic light system gives me:

  • Permission to ignore money when things are green
  • Awareness without alarm when things are yellow
  • Clear signal to act when things are red

That’s healthier. And it works with my ADHD brain instead of against it.

The Tech Stack

  • SimpleFIN for bank aggregation (better than Plaid for my use case)
  • FastAPI backend to handle sync and calculations
  • PostgreSQL to store transactions and rules
  • Claude API for the conversational interface
  • Cron jobs for hourly balance checks

All of this runs on a $6/month Hetzner VPS. Not complex. Not expensive. Just functional.

What’s Missing

Things I haven’t built yet but should:

  • Weekly spending reports by category
  • Anomaly detection for unusual purchases
  • Forecast modeling for upcoming cash crunches
  • Receipt OCR for expense tracking

But here’s the thing: the core system works. I’m not adding features until I feel friction. That’s how you avoid feature creep.

The ADHD Design Pattern

The broader lesson here applies to more than finances:

  1. Reduce cognitive load — traffic lights, not dashboards
  2. Automate the boring parts — sync, categorization, calculations
  3. Make it conversational — questions, not menus
  4. Surface only what matters — color status, not every number

This pattern shows up in everything I build. If a system requires willpower to use, it’s broken.

Try It Yourself

You don’t need my exact setup. But you can steal the pattern:

  1. Pick your thresholds (mine are 30/15 days, yours might be different)
  2. Calculate runway days automatically
  3. Hide the raw numbers
  4. Show the color

Mint and YNAB won’t do this out of the box. But a simple script and a status indicator can. Even a spreadsheet with conditional formatting works.

The goal isn’t the technology. It’s the mental model: What color am I today?

That’s a question your ADHD brain can handle.