It looks like a finance app.
It's a decision engine.
No money app ever fit: they look backward, forget everything older than a year or two, can't run the futures, and flatten a cross-border financial life into the wrong buckets. So I didn't design a budgeting screen. I built an engine. The interface is the last layer; the reasoning underneath is the product.
- What it reads
- Years of transactions · every account · two countries
- What it runs
- Thousands of simulated futures · a full retirement model
- Status
- My daily money tool · live demo on a fictional family
The live demo, in motion.
No app could hold the way I plan.
I'd spent years designing BI and analytics tools at work. Finance Chief became the place I explored everything I couldn't build there, for the most demanding user I know.
This is not just a personal finance app — it's the map of my brain, out here, in real time. Constantly planning, strategizing, ideating, forecasting, now backed with actual logic and real-time numbers.Me, early in the build
I defined the job
before a single screen.
The first decision was what the app is for. Two jobs: an honest picture of where the money goes today, and a forward answer to the long question — could we stop earning one day, and be fine? Anything that serves neither doesn't get built.
When the builder started producing ever-finer spending categories, I stopped it and restated what the categories were for:
I'm trying to optimize my life. Not live stingily, but not overspend either. … So this is our end goal. Not endless categorization.Me, to the AI builder
One engine,
read in layers.
Four layers on one deterministic core: the ledger, the balance sheet, the forward model, and a thin AI edge for the open questions. One engine runs the web app, the what-if sliders and the phone, so a number can never disagree with itself across screens.
Code where it has to be right. AI only on the tail.
Deterministic, instant and free at every layer that has to be right. AI only on the open-ended tail.
The ledger:
my life, read from transactions.
I had years of spending data spliced from old apps and live bank feeds. This is when I decided the spending analysis was the heart of the product:
Let's go all in on the spend analysis and insight generation idea. … Things that I can't possibly find — but you can.Me, to the AI builder
It reads what money means, not just where it went.
One transaction, checked top to bottom.
A tested precedence chain, checked top to bottom, so nothing counts twice and nothing counts as spending that isn't.
An anomaly can't lie. Burn uses the median month, not the mean, so a one-off repair can't inflate it. Where a monthly rate would be a lie, the engine refuses to show one.
Who I'm actually paying. Bank data carries no merchant ID, only raw text that changes all the time. The engine resolved hundreds of raw names into the real merchants behind them. When it isn't sure, it asks me: same merchant, or keep separate?
The first time I looked at the raw ledger laid out month by month, uneven and unpredictable:
That's what real spending looks like. No real symmetry at all. It's wild. Random. Forces you to look at every single transaction.Me, reacting to my own data
Two sources, one history.
Spliced exactly at the bank feed's earliest date: no overlap, no double count, every row tagged with where it came from.
Every insight is a claim
until it survives the guards.
A finding that sounds specific is easy to believe and easy to get wrong. So nothing reaches me until it survives five guards against the ways transaction data lies, like a provider switch that looks like a price rise.
The engine can describe what I did. Whether a purchase was an impulse, or worth it, is a judgment it has no evidence for:
Impulse is mine to mark, you can't derive it.Me, drawing the line
The balance sheet:
everything we own, in two countries.
Bank and brokerage accounts sync live. Everything else is valued from live sources, each stamped with how fresh it is.
Grouped by what I can reach, not by asset type.
The balance sheet is grouped by what I can actually reach, not by asset type.
The forward model:
life paths, ranked.
I keep several futures in play, each a life path with its own move, income and costs. The engine ranks them against one goal, runs thousands of simulated futures for the odds, and back-solves what each path needs.
The decision, not a dashboard.
Illustrative: the mechanism, not real figures
Could we stop earning one day,
and be fine?
The retirement model answers one question across decades. It runs every combination of floor and ceiling for income and markets, tests crashes at different moments, and finds which factors actually decide the outcome. The page reads as an argument: the answer first, then what could break it.
All four corners, honestly paired.
Four honest corners. Never one variable's floor paired with another's ceiling. Illustrative outcomes.
Findings I couldn't have run in my head.
Timing beats size.
Same shock, very different cost, purely from timing. Illustrative proportions.
Returns decide the goal, not career. Holding returns fixed, the whole range of career outcomes moves the result about a third as much as the range of market returns. Both low-return corners miss; both high-return corners clear; career flips neither.
A shortfall that wasn't. Measured as yield, the plan showed a big gap. Measured as withdrawals, the money lasted and grew. The gap was an artifact of the framing, which is why both walks stay on the page.
Small rules with big effects. Chasing the best advertised deposit rate is worth almost nothing once deposit insurance caps the amount. Gold is the one sleeve that rose in a crash year, and it earns its place as diversification.
One finding I called before the model measured it: that over the earning years, what we keep putting in matters as much as what the market adds.
[Years] of income and contribution matter a lot more than just money sitting and compounding.Me, before the numbers came back
Why the retirement page reads top to bottom as a story, instead of a grid of cards:
This is about storytelling. … And this story is about the next [few decades] of my life.Me, on the page order
AI on the edge.
The phone in my hand.
There is one Ask. It answers only from a factual snapshot of my data, and can draft a new life path that stays a draft until I add it. What a conversation produced is kept; the chat itself isn't.
The phone that replaced my old money app.
The phone holds no keys and no ledger. It reads from my own machine, alerts only outside quiet hours, and never twice for the same thing.
Then I taught the builder
to stop guessing.
Finance Chief was built by directing AI coding agents. The hard part was stopping a confident system from inventing things about my money and my future. Every correction went into a teachings file the same session, more than a hundred of them.
The ledger: every correction became part of the model.
Each correction went into the project's teachings file the same session, and into the model as a rule with a test.
Ask, don't presume.
The first spending findings the engine surfaced were confidently wrong: a switch of phone carriers read as a price rise, a winter energy bill compared to a summer one. So the work went back to the data before building more insights, and the engine learned to ask when the data can't settle something.
The moment it became the rule: the builder flagged one month's spending as unusually high, and I knew before it finished explaining that it had misread the data.
The moment you said [that number] was too high for the month, I figured you were wrong. I knew, I knew it that moment. … You should always ask me. That's our number one rule. Remember, don't presume anything.Me, to the AI builder
And the same idea, applied to the app's own sources of truth: the ledger outranks my memory.
Go by the real data you see. My numbers can be off — they're always an approximation based on memory.Me, to the AI builder
“The projections are for me — because I know the reality of it and I built it. An app didn't build the projection for me.”
Built in weeks.
Used every day.
The first version was live a week after the first commit, and it has replaced the money app I used for years. The public demo runs on a fully fictional family, so no real figure ever ships.
Honest by design,
all the way down.
From a calculator to a chief.
What I'd build nextIndia's feeds, and the judgment layer
Every data feed today is American, so money held in India is valued, not synced. India's account-aggregator feeds are next, along with putting the cross-border tax and residency research I've already done into the app itself, as orientation for a real professional, never as advice. And a way to mark what was worth it, in my words.
What it left behindA way of building
Define the job before the screens. Fix the data before the insights. Treat every finding as a claim. Show the floor and the ceiling. Let code answer what must be exact, keep AI for the open questions, and ask instead of presuming.