Projects / Personal Budgeting Program
Projects

Personal Budgeting Program

This program helps you visualize and track your monthly spending against your predefined budget goals. It started as a personal side project in college, originally written in R — I've since refactored it into a web app using Claude Code so anyone can use it.

There's plenty of room for improvement, so feel free to leave feedback in the section at the bottom of the page. Follow the steps below to get started:

  1. Pick your budgeting categories.
  2. Upload a CSV file of your transactions for the month.
  3. Define your budget for each category.
  4. (Optional) Define subcategories and their respective budgets.
  5. Click Run to generate a visual spending report.

Everything runs entirely in your browser — no data is ever sent anywhere.

Analyze a single month of spending. Upload your categorized transactions, set your budget and subcategory budgets, and generate a visual breakdown of where your money went — with comparisons against what you planned to spend.

View example monthly report

Categories

These are the default budget categories. Remove any you don't use, or add new ones.

Or upload a Categories file

Download template

CSV

Expense,Income
Housing,Paycheck
Groceries,Reimbursement
Transportation,
Fun,
Subscriptions,

Spreadsheet (.xlsx / .xls)

Expense Income
HousingPaycheck
GroceriesReimbursement
Transportation
Fun
Subscriptions

List expense categories under Expense and income categories under Income. The columns don't need to be the same length.

Upload Transactions

Upload your monthly transactions file (.csv, .xlsx, .xls formats accepted). Each row is one transaction. i

Expected format

Download template

CSV

Amount,Parent Category,Category
2350,Housing,Rent
7,Fun,Coffee/Matcha
2973.11,Paycheck,Company
-15,Groceries,Trader Joe's refund
5.59,TP Fund,Shampoo/Conditioner

Spreadsheet (.xlsx / .xls)

Amount Parent Category Category
2350HousingRent
7FunCoffee/Matcha
2973.11PaycheckCompany
-15GroceriesTrader Joe's refund
5.59TP FundShampoo/Conditioner
  • Amount — numeric; negative values represent refunds
  • Parent Category — must match one of your defined categories above
  • Category — free-text sub-label for the transaction

Budget

Enter a budgeted amount for each expense category. Check Has Subcategories? to add per-subcategory budgets below. i

Or upload a Budget file

Download template

CSV

Parent.Category,Budgeted
Housing,2577
Groceries,500
Transportation,200

Spreadsheet (.xlsx / .xls)

Parent.Category Budgeted
Housing2577
Groceries500
Transportation200
Parent Category Budgeted ($) Has Subcategories?

Upload transactions and fill in all budgeted amounts to enable.