The reasoning
Budgeting software is almost universally retrospective: it answers "where did the money go?" long after the answer could change anything. A monthly total can look safe while the month itself is structurally unsafe: income lands late, bills cluster early, a card stays under its limit while its trajectory points the wrong way and a payment that is affordable at month end is impossible on the day it actually falls.
Clear Budget asks the forward question instead: will the month survive? It projects the balance day by day, bill by bill and card by card, treating credit cards as pressure systems rather than static balances. Each feature is a decision made explicit: a per-month skip or override says "this obligation does not apply this month", a paid flag says "this money has already left", a read-only viewer package is an authority boundary and the solvency panel is where scattered obligations resolve into a single answer, up to six months out.
When software tells you whether the balance survives the month, approximately right is wrong. So the projection logic sits in a pure domain no UI event or database write can reach into, inside a four-layer architecture with every dependency pointing inward, held by structural tests, a 100% coverage gate, a 400-line file limit and a no-magic-numbers rule on every run.
What works now is a finished cross-platform tool: Windows, macOS and Linux from one codebase, multiple users with bcrypt sign-in and isolated per-user databases, 25 display currencies, archive snapshots and validated import and export. It is dogfood in the full sense: the application I open to decide whether my own month holds together, which is the surest way I know to keep a solvency tool honest.
Full reasoning at crankthecode.com.
Built like the apps I trust
When software is telling you whether the balance survives the month, approximately right is wrong. So the projection logic sits in a pure domain that no UI event or database write can reach into, inside a four-layer architecture with every dependency pointing inward. Structural tests, 100% coverage, a 400-line file limit and a no-magic-numbers rule hold the line on every run.