Skip to content
Ritesh FirodiyaGet in touch

Work / Aakalan / Wiki / Surfaces

profile

Surfacecanonicalverified 2026-09-23

SURFACE.MOBILE.AUTH.PROFILE

Summary

Your name, and an optional UPI ID. The last screen of onboarding.

Raw wireframe

  • .context/designs/mobile/auth/profile.html

Why it is drawn this way

Only the name is required. It is what shows up next to every expense you add, which is the whole reason to ask.

The UPI ID is offered here because setup is a better moment than mid-settlement — but it is genuinely optional, and the screen says so in the one place people read: on the field's own label, and then on the button.

"Skip for now" is a real, visible action. Without one, somebody who does not know their VPA off the top of their head reads the empty input as something still to do and stalls on the last screen of onboarding. It appears once a valid name is present and the UPI field has been touched.

An invalid VPA blocks rather than silently saving. A typo here sends somebody's money nowhere, and the error names the shape (name@bank) rather than just refusing.

Three dots, two filled. Sign in, verify, profile — the progress indicator is the only thing on this screen that says how much is left.

More numbers and more places to be paid are added later, from account. One person routinely has several of each, and asking for all of them here would turn onboarding into a form.

Related

Sources

  • src/app/(auth)/profile.tsx
  • src/lib/upi.ts

Every project of mine is written down like this.

Read the résumé