Pre-launch · Early beta

BudgetSimpler

Simple, approachable personal finance for people who find YNAB and Mint overwhelming.

Stack

React, Node.js/Express, MongoDB Atlas, Styled Components

Features Shipped

8 core pages + AI chat assistant

Deploy

Netlify (frontend) + Render (backend)

Dev Status

Actively shipping

The Problem

Built for the majority, not power users.

Most budgeting apps are built for power users who want envelope budgeting, bank sync, and spreadsheet-level control. That's intimidating for the majority of people who just want to answer three questions: "How much did I make? How much did I spend? Am I on track?" BudgetSimpler is built for that majority — clarity and visual progress over feature density.

Feature Tour

What's inside.

A quick walkthrough of every surface users touch — what's there, and why it's there.

01 · Dashboard

Dashboard

Your financial overview at a glance.

Balance/Income/Expenses/Savings tiles, income vs expenses trend line, category donut, budget progress bars, and recent activity — all on one screen so users get the full picture without digging. Live financial quote rotator at the top for a bit of personality.

03 · Calendar

Calendar

See your money flow through the month.

Income, expenses, and recurring bills rendered on a month grid. Click any day to see the breakdown. Recurring bills appear automatically on their due date so users see bills coming before they hit.

06 · Search

Search

Find any transaction across all time.

Global search across income and expenses with type and category filters. Running totals update as you filter.

07 · AI Assistant

AI chat assistant

Ask your money questions in plain English.

Floating chat widget powered by Claude, with the user's live financial data passed into the system prompt. It knows your categories, your budgets, your recurring bills — so "how much did I spend on groceries this month vs last" gets a real answer.

Technical Highlights

Under the hood.

BudgetSimpler is structured as a monorepo with independent package.json manifests for the frontend and backend so each side can be deployed and versioned on its own. On the React side, state is split across seven domain-specific contexts — auth, global, budget, debt, recurring, theme, and tour — instead of a single app-level store, which keeps re-renders scoped and makes each domain's reducer easy to reason about. Styling is Styled Components v6 with $-prefixed transient props throughout so custom style flags never leak into the DOM.

On the backend, every query is user-scoped through JWT middleware, and the AI chat endpoint carries its own per-user rate limit on top of the global one to keep Anthropic costs predictable. Transactional email — verification, weekly snapshots, and unsubscribe confirmations — runs through Resend, and a node-cron job assembles the weekly snapshot payload from each user's data before dispatching. Husky + lint-staged enforce Prettier formatting at the pre-commit stage, and a lightweight analytics event pipeline records user actions with per-user deduping so a single tab reload doesn't inflate the numbers.

Back to all projects