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:
- Calculate burn rate
- Remember upcoming bills
- Account for pending transactions
- 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:
- Pulls current balances across all accounts
- Calculates total liquid funds
- Looks at average daily burn rate (rolling 30-day)
- Divides balance by burn rate = runway days
- 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:
- Reduce cognitive load — traffic lights, not dashboards
- Automate the boring parts — sync, categorization, calculations
- Make it conversational — questions, not menus
- 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:
- Pick your thresholds (mine are 30/15 days, yours might be different)
- Calculate runway days automatically
- Hide the raw numbers
- 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.