Work / Aakalan / Wiki / Surfaces
delete-account
Surfacecanonicalverified 2026-09-23
SURFACE.MOBILE.ACCOUNT.DELETESummary
The confirmation, with the consequences on screen before the button.
Raw wireframe
- .context/designs/mobile/settings/delete-account.html
Why it is drawn this way
It is a state of account, not a route — but it is its own screen file
here, because the closed state vocabulary (empty · loading · error · offline · locked) cannot name it, and stretching one of those words to cover it is how a
vocabulary stops meaning anything.
Deleting is irreversible and, in a shared ledger, also affects other people. So the consequences are on screen BEFORE the button that does it — not behind a link, and not discovered after.
Expenses in shared groups stay. Removing them would change what other people are owed, which is a change the person deleting their account has no right to make on their behalf. Their name on those expenses becomes "Removed user". See a-record-is-never-erased.
The two buttons are deliberately not symmetrical. "Keep my account" is the bordered, safe one and sits first.
No navigation happens on success. The auth gate sees the signed-out session and routes; pushing a route as well would race it.
Related
Sources
- src/app/account.tsx
- src/data/actions.ts
Every project of mine is written down like this.
Read the résumé