Shila Aghdami
Constraint — Ambiguous scope

Scan to Pay — scoping a camera-first payment flow

Role
Designer
Platform
iOS and Android
Type
White-label mobile banking
Contributed
Scope definition, camera-first UX mockups

Context

A request for a "scan to pay" feature in the banking app. The phrase covers two genuinely different products, and the request did not specify which.

  • Bill capture — point the camera at a paper bill, extract the biller code and reference number, pre-fill the payment.
  • Live QR code scanning — point the camera at a merchant's QR code and complete a payment at the point of sale.

These share a camera and almost nothing else. Different payment rails, different failure modes, different error handling, different regulatory footprint, different partners.

The most useful work was scoping

Before any screens, I resolved which of the two was actually in scope and got that agreed. Ambiguity of this kind is cheap to resolve at the start and expensive at any later point — a flow designed for one and built for the other fails in ways that are not obvious until integration.

Camera-first design

The flow puts the camera first rather than presenting a menu that leads to a camera. Scanning is the task; anything preceding it is overhead on a job the customer is standing there trying to complete.

That decision moves the design difficulty into the states around the camera:

  • Permission — what the customer sees before granting camera access, and the path back if they previously refused
  • Guidance — how the viewfinder communicates what to aim at without a tutorial
  • Failure — poor lighting, crumpled paper, unreadable or unsupported codes, partial capture
  • Verification — what is shown after a successful read, before money moves

The customer is confirming a transaction based on something a machine read for them. The extracted values have to be checkable at a glance.