Work / Aakalan / Wiki / Surfaces
settle-settled
Surfacecanonicalverified 2026-09-23
SURFACE.MOBILE.SETTLE.SETTLEDSummary
All square — the state that replaced the /settle/done route.
Raw wireframe
- .context/designs/mobile/settle/settled.html
Why it is drawn this way
This is a state, not a route. /settle/done was a 358-line screen reached
by router.replace after every settlement, and the only thing it could say that
this cannot is "it worked" — worth one state change, not a navigation. Removing
it takes a whole transition out of the commonest action in the app, and deletes
the awkward case where backing out of the receipt landed you on a settle screen
for a debt that no longer existed.
Telling them is the PRIMARY action, not the receipt. Nothing asked their permission, so the one thing still owed after a settlement is that they hear about it — and for somebody not on Aakalan that message is the only way they ever will. See settling-is-immediate and we-never-message-anyone.
The message is told, not asked. It states the direction in plain words and invites a correction, because the app can no longer catch the mistake for them.
There is no push notification and there never will be from here: the app carries no messaging SDK, no token storage and no backend to send from.
Related
Sources
- src/app/settle/[id].tsx
- src/lib/messages.ts
Every project of mine is written down like this.
Read the résumé