Skip to content
Ritesh FirodiyaGet in touch

Work / Aakalan / Wiki / Surfaces

delete-account

Surfacecanonicalverified 2026-09-23

SURFACE.MOBILE.ACCOUNT.DELETE

Summary

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é