Building

Inside The Finance Reset Program: 21 tools, shared data, and nothing sent to a server

What the program actually is

The Finance Reset Program is a free four-week financial clarity course I built and have been iterating on for a while now. The premise is simple: most people aren't bad with money, they're just missing clear numbers. The program is structured around getting you those numbers: income, spending, debt, savings, investing, week by week, without jargon or sales pressure.

What started as a set of reading material with some basic input fields has grown into something considerably more substantial. This post is a proper walkthrough of where it is now: 21 interactive calculators across four weeks, a data model that connects them, and a privacy approach that I think is worth explaining in full.

The 21 tools

Each week of the program has a theme, and the tools are built to match. Here's everything that's currently live.

Week 1: Clarity
Day 1Spending Audit Breakdown
Day 2Income vs Expenses Gap Calculator
Day 3Subscription Tracker
Day 4Bill Negotiation Planner
Day 5Survival Budget Builder
Day 6Breathing Room Estimator
Day 7Three-Bucket Budget Planner
Week 2: Debt
Day 1Debt Inventory Builder
Day 2Daily Interest Cost Calculator
Day 3Debt Payoff Strategy Comparator
Day 5Debt Consolidation Analyser
Day 7Debt Payoff Timeline
Week 3: Savings
Day 2Savings Milestone Calculator
Day 3Emergency Fund Planner
Day 6Irregular Expense Planner
Day 7Savings Growth Tracker
Week 4: Investing
Day 1Compound Interest Calculator
Day 2Investment Fee Impact Calculator
Day 3Retirement Projection Calculator
Day 5Dollar-Cost Averaging Illustrator
Day 7Net Worth Tracker

That's 21 tools in total. Some are straightforward calculators: put a number in, get a number out. Others are more like mini-spreadsheets where you build up a full picture of your situation over time. The Debt Inventory Builder, for example, asks you to list every debt with its balance, rate, and minimum payment. The Spending Audit asks you to break your spending into named categories. These tools aren't useful for a single calculation; they're useful because they capture a complete picture of your finances.

How the tools share data with each other

This is the part I'm most satisfied with, and the part that took the longest to get right. Early on, each tool was completely independent. You'd enter your income on the Gap Calculator, then have to enter it again on the Debt Inventory Builder, then again somewhere in Week 3. It was annoying, and it made the program feel disconnected.

The solution was a unified data store. All tools now read from and write to a single object stored in your browser's localStorage. When you enter your income in the Gap Calculator, that number is saved. When you get to the Debt Inventory Builder, it's already there. When you build your survival budget in Week 1 and then get to the Savings Milestone Calculator in Week 3, your survival budget number is pre-filled and waiting.

The connections that matter most in practice:

When a field has been pre-filled from another tool, the program shows a small "↑ Pre-filled from your [tool name]" note directly below the field. It's a small thing, but it matters: it makes the connection between tools explicit instead of quietly implicit. You know the number is real because you can see where it came from.

Downloading and uploading your data

There's a data management button on every page of the program: a small circular icon in the top-right corner of the screen. Click it and you get a menu with three options: view and edit all your data, download your data as a JSON file, and upload a JSON file to restore it.

The download produces a file called finance-program-data.json. It's a plain JSON object: one key per piece of data the program stores. You can open it in any text editor, read it, edit it manually if you want, and upload it again. Nothing proprietary, no special format. If you've ever wanted to understand what an app actually knows about you, this is about as transparent as it gets.

The upload is a full replace: it takes the file you choose, validates that it's a valid JSON object, asks you to confirm, and then overwrites your current data with the imported version. It's useful in two scenarios. First, if you want to move your data from one device or browser to another: download on your laptop, upload on your phone. Second, if you want to start fresh but keep a backup of your previous run-through. Download, clear, start again, knowing the data is safe in a file somewhere.

The "view and edit all data" page is worth mentioning separately. It's a single-page view of every piece of data the program holds: all your debts, subscriptions, spending categories, savings figures, and tool settings in one place. You can edit individual fields directly from that page, delete entries, and see the internal key names the program uses. It's not designed to be pretty; it's designed to be honest about exactly what's being stored and to give you full control over it.

Data security: nothing leaves your browser

I want to be specific about this, because "your data is safe" is one of those things that gets said so often it's become meaningless. So here's exactly what happens with your data on The Finance Reset Program: nothing is transmitted anywhere. Full stop.

There is no backend. There is no database on my end. There is no API call that sends your numbers to a server. The program doesn't know your income, your debt balance, your savings amount, or anything else you enter into it. I don't know it. No one knows it, except you.

All the tools run entirely in your browser using JavaScript. When you calculate something, the calculation happens locally on your device. When you save something, it goes into your browser's localStorage: a storage mechanism that lives on your computer and is not transmitted anywhere. When you close the tab and come back, your data is still there because the browser kept it locally, not because a server remembered it.

The program does run basic analytics: page views and tool opens, using a self-hosted Umami instance. That tells me which tools are being used, not anything about the data inside them. If a lot of people are using the Debt Payoff Timeline, I know that's worth investing more time in. I don't know what anyone's actual debt balance is.

There's a practical implication to this architecture worth being upfront about: because everything is local, clearing your browser data will delete your finance program data. That's the trade-off for privacy. It's why the download function exists. If you've spent time building up your debt inventory and savings figures, download a copy. It takes about three seconds and it means your data is yours in the most literal sense possible.

Why I built it this way

The honest answer is that asking people to enter their real financial numbers requires a level of trust that I think most financial tools don't deserve. Financial apps routinely ask for bank logins, collect spending data, and sell aggregated insights. The standard model treats your financial life as a data asset.

I didn't want to build that. The program is most useful when people enter their real numbers: not approximations, not sanitised versions, and that requires confidence that the numbers are going nowhere. The only way to credibly make that promise is to build a system where there's literally nowhere for the numbers to go. No backend, no server, no database: the architecture is the promise.

It's also just simpler. No user accounts, no authentication, no password reset flows, no GDPR compliance headaches beyond "we don't collect any personal data." The program works offline. It works on a phone without a data connection. It works if I shut down the domain (though the files would need to be locally saved for that). The constraints of privacy-by-design turned out to produce a simpler, more reliable product.

The program is at thefinanceprogram.com. Free, no sign-up, no server-side data collection. If you know someone who's trying to get their head around their finances, send it along.

← Back to all posts