CashFlux mark

CashFlux

See where your money moves.

alpha · live

A budgeting app that runs entirely inside your browser tab and keeps your financial data on your device.

No account to create, nothing uploaded, no server holding your transaction history. Open it and it works — accounts, transactions, budgets, goals, bills, reports and a financial to-do list — and it keeps working on a plane. The whole application, including a real SQLite database, is a single Go program the browser downloads once and then runs.

monstercameron/CashFlux — brand sheet
CashFlux brand poster — See where your money moves.

Brand artwork for CashFlux. The product is real and the code is linked above; the poster is a design exercise, not a claim.

~/projects/cashflux · what it does

What you get.

Your data stays yours

It runs local-first against a SQLite database inside the tab. The one network call is an AI insight, and only when you click it, with your own key.

Budgeting that fits how you already think

Zero-based or envelope budgeting, snowball or avalanche debt payoff, cash-flow forecasting, and cleared-versus-uncleared reconciliation.

Built for a household, not just a person

Ownership is explicit — shared or per-member — so two people can run one set of books without guessing whose expense is whose.

Every figure shows its work

A budget, a forecast, an allocation score: each traces back to the transactions behind it. Money is stored as integer cents with an explicit currency, never a float.

~/projects/cashflux · built on

What it runs on.

Including the two libraries underneath it that are my own work — the framework the interface is written in, and the transport it talks over.

My Go→WASM UI framework — components, hooks, router and the typed CSS engine that replaces the stylesheet.
Carries optional multi-device sync as real gRPC over one WebSocket, with no REST layer in between.
A real SQLite engine compiled into the client — no C, no cgo, no server.
Go → WebAssembly
The UI, the styling, the money math and the database are one language in one binary.
~/projects/cashflux · hard parts

What was actually difficult.

The problems worth describing, and what the measurement said. Not the technology list — that is above.

A database in a browser tab, not a fake one

Local-first is easy to claim and hard to mean. CashFlux runs an actual SQLite engine client-side, which makes the query layer, the migrations and the reconciliation logic the same code you would write on a server — and makes offline the default rather than a degraded mode.

Money that survives arithmetic

Balances, budgets, debt payoff and a sandboxed formula engine are pure, dependency-free Go packages under table-driven tests. Currency is integer cents plus an explicit code, because the alternative is a rounding bug nobody finds until it is in somebody's savings goal.

Sync without giving up local-first

Multi-device sync is opt-in and additive: the app is complete without a backend, and turning sync on adds an encrypted server-side store over the gRPC tunnel instead of relocating the source of truth.

~/projects/cashflux · evidence

Counted, not estimated.

Figures taken from the repository itself. No line-of-code count — it rewards duplication and every reader knows it.

221internal packages
2,998tests
50application routes
26documented releases
6weeks, first commit to platform
~/projects/cashflux · honest status

Where this really is.

CashFlux today:alpha · live

Alpha, and labelled that way in its own README. The architecture and the pure-logic core are real and heavily tested, the live app is usable day to day, and the feature list describes what is in the app rather than a roadmap — but maturity varies by area and some surfaces are still rough.

These are personal projects, built on nights and weekends with AI agents in the loop — that is how one person ships this much surface area at once. Most of them are early: alpha or prototype, with polish that varies a lot by area. What is not early is the architecture, the test suites, and the measurements — every number on this page is counted from the repository and every claim is one you can check against the code.