Work / Aakalan / Wiki / Surfaces
spending
Surfacecanonicalverified 2026-09-23
SURFACE.MOBILE.SPENDINGSummary
The month summarised, then itemised. The whole tracker half.
Raw wireframe
- .context/designs/mobile/spending/spending.html
Why it is drawn this way
This absorbed Insights. Insights' own reasoning refused a category-detail screen because it "would be a screen showing the same data again", which is exactly what it and Activity were to each other: one summed the month, the other listed it, and somebody asking "where did my money go" had to visit both with nothing telling them to.
The filter governs the WHOLE screen — total, categories and rows re-cut together. A filter that moves the list under a total it does not change is how a screen starts lying.
Own spend and your share of splits are added, then broken out. Both left your account, so both belong in the total; they behave differently, so the breakdown is worth the bar. That bar is brand/accent precisely because spending has no DIRECTION — it is not a debt, so it never takes pos or neg. See reserved-money-direction.
Two segments, never a pie. A pie of two slices is a bar with extra steps.
Category rows are labelled, not a legend. A donut plus a key makes the reader cross-reference; a row carries its own hue, its own icon and its own figure. Each category wears the one hue it owns everywhere else — see categories.
A settlement is a line in this ledger. It is the one entry that explains why a balance dropped, and Activity used to omit it entirely.
Edits and deletions render permanently, struck through and muted. See a-record-is-never-erased.
The recurring banner is not optional chrome. Automation does not get to be silent: money appearing in a shared ledger with no visible cause is how a splitter loses trust, so what a rule just added is announced with an Undo.
The history chart is the only Pro veil on this screen, and the copy says what stays free. Export sits in the header of the screen it exports and is never Pro — stated by placement rather than in words. See pro-never-gates-the-core-loop.
Insights show one currency at a time. They used to sum across currencies, which was wrong from the moment group currencies shipped; the selector appears only when the ledger actually holds more than one.
Related
Sources
- src/app/(tabs)/spending.tsx
- src/components/spending/spend-summary.tsx
Every project of mine is written down like this.
Read the résumé