Budget Tracker

Add an expense (a label and an amount), watch the running total update, and remove entries you no longer want. Everything persists in your browser via localStorage — no server, no account, no network calls at runtime.

This is the pilot for the wal-sh.projects tier: larger, stateful SPAs that go beyond the single-purpose wal-sh.tools tools. Pure logic lives in core.cljc (testable on the JVM and in the browser); the DOM adapter in browser.cljs renders into #app-root with no framework.

The eventual feature set (envelopes, categories, recurring templates, CSV/JSON export) is captured in the project spec. This page ships the minimal slice: add, total, remove, persist.