SSuperdesigner

Design Review — Voice Money Transfer

date · Jun 2026 intent · pre-launch mode · review reviews intent, not pixels
Executive summary

The short version

The happy path is solid and on-brand, but the flow ships without a failure state and shows the amount in two different formats between capture and confirmation — the documented driver of the 23% confirmation drop-off. Two P0s block launch; the rest are high-impact polish. Live Figma inspection was used.

Recommendations · by priority

What to fix, in order

P0 — blocking

P0

Is the amount shown in the exact same format at capture and at confirmation?

research §1 “if the number looks even slightly different I start over” · DESIGN.md §3 plain-language · Figma 10:220 — the documented driver of the 23% confirmation drop-off.

P0

Where is the failure state — the flow ends at Success, but the PRD requires a reason and a retry path?

PRD §4 failure state + retry · research pain #3 “it just said error” · no error screen in the Figma inventory.

P1 — high impact

P1

Does the Confirmation CTA spell out the consequence of an irreversible action?

content.md “Send AED 250 — this can’t be undone” · DESIGN.md §3.1 consequence language.

P1

What does a user see while the transfer is pending — is there a loading state, or does the screen just hang?

Figma 10:230 Confirm has no pending/loading variant · DESIGN.md §2 five-states rule.

P2 — nice to have

P2

Could the saved-recipients empty state invite the first transfer instead of showing a blank list?

Figma 10:210 Recipients empty variant is blank · research §2 first-time users hesitate.

PRD alignment

Promised vs. designed

Amount entry, recipient selection, and the success state are all designed and on-brand.
P0

PRD §4 requires a failure state with a reason and a retry — where is it in the design?

PRD §4 “every transfer can fail; show why and offer retry” · not present in the Figma inventory.

States & UX

The five states, per screen

P0

Confirm screen: no error or pending state — what happens when the network drops mid-transfer?

Figma 10:230 Confirm · DESIGN.md §2 empty/loading/error/recovery required on every screen.

P1

Is there an offline state for a flow people use on the move?

research §3 41% of transfers happen on mobile data · no offline variant in the inventory.

Content & copy

The words

P1

Does the primary CTA name the consequence — “Send AED 250” — rather than a bare “Confirm”?

content.md consequence language · DESIGN.md §3.1 say what the button does.

Analytics

Is it measurable?

P0

Can we even measure the confirmation drop-off if the failure path emits no event?

analytics.md only transfer_success is tracked · PRD §6 success metric is completion rate.

Research alignment

What users told us

P1

Does the design answer the top trust concern — “did the money actually arrive?”

research §1 “I screenshot every transfer because I’m never sure it went through.”

Figma Make prompts

To take back into the canvas

P0 · Confirm

For Voice Money Transfer (Botim wallet, high-trust UAE remittance flow): design the transfer-failure screen. It needs a plain-language reason the transfer failed, a primary “Try again” action, and a secondary path to support — matching the cream/ink/acid system and the consequence-language voice in DESIGN.md §3.1.

P0 · Capture → Confirm

For Voice Money Transfer: redesign the amount display so the value is shown in one identical format at capture and at confirmation (same digit grouping, same currency placement, same decimals). Add a pending/loading state on Confirm so the screen never just hangs while a transfer is in flight.

P1 · Confirm

For Voice Money Transfer: design a post-send receipt that answers “did the money arrive?” — show status, a reference number, and a clear arrival estimate, so users stop screenshotting every transfer for proof.

For the design team

Open questions