Concept / self-initiated

Case study · Mobile payments · Personal concept

Skana

A personal concept for paying anyone in seconds , by scanning their code or typing their @username , without reading out account numbers or risking the wrong recipient.

Role
Sole product designer , concept, flows, interface and states
Team
Solo project
Timeline
2025
Platform
Mobile app
Status
Concept , not built or launched
Skana: Confirm Payment, the confirm-recipient sheet and Payment Successful
Contents

01 · Overview

Paying someone should feel certain, not hopeful.

Sending money usually starts with someone reading out an account number. It’s slow, and one wrong digit sends money to a stranger. Skana , “Scan. Pay. Instantly.” , replaces that step: scan the code a vendor already displays, or pay someone by an @username you recognise. It’s a personal concept I designed on my own; it hasn’t been built or tested with users.

Problem
Account-number transfers are slow and easy to get wrong.
Intended users
People paying friends and everyday vendors , market stalls, restaurants, small shops
My responsibility
Sole product designer , concept, flows, interface and states
Constraints
A solo concept with no research budget , decisions are my reasoning, and hypotheses until tested

02 · Problem and opportunity

Every payment hinges on one question: is this the right person?

The concept stands on two entry points and one guarantee. Everything else , airtime, savings, rewards , was deliberately left out so the core journey could be complete.

What the design had to guarantee

  1. Pay by scanning a QR code

    Initiate a payment straight from a code, without typing details.

  2. Pay by name or username

    Find someone without needing their account number.

  3. Identify and confirm the recipient

    Show who will receive the money before anything moves.

  4. Validation, loading, success and error states

    Feedback at every step, including when something fails.

Concept principles, not tested findings.

Skana home screen
Home: Scan is the first action
Skana scan viewfinder
Scan a vendor’s code
Skana search by name or username
Or find an @username
Two ways in, both one tap from home. Scan is the first quick action; search shows recent and popular recipients by name and @username , no account numbers anywhere.

03 · Users and context

The riskiest moment is the one just before you pay.

With account numbers, mistakes happen silently: you only find out after the money has gone. So Skana puts a deliberate pause at exactly one point. Whether you scanned a code or searched a username, a sheet shows the name, @username and a verification badge before anything else happens , “Yes, continue” or “Not right? Scan again”.

Confirm-recipient sheet after scanning
After scanning a vendor’s code
Confirm-recipient sheet after searching
After searching an @username

04 · Design strategy

One confirmation pattern for both ways to pay.

The questions that shaped it

, How does a payer confirm the recipient before money moves?

, What happens when a code or username can’t be resolved?

, How do we stop someone paying twice when a result is unclear?

Find the recipient

Home
Scan code
Camera off · Invalid code
Search @username
No results
Confirm recipient
“Not right?” returns you to scan or search

Pay and see the result

Amount
Insufficient balance
Review
PIN
Cancel → nothing sent
Processing
Success → Receipt
Failed → Try again
Pending → Don’t pay again

The core flow: two entry points meet at one recipient-confirmation step, then share amount, review, PIN and outcome. Red notes mark the recovery paths.

05 · Final solution

Every step answers: who, how much, and did it work?

Skana Confirm Payment screen with three numbered annotations
  1. The amount is the largest thing on screen, with the recipient named right beneath it.
  2. Balance after payment is shown up front, so nobody is surprised.
  3. “Payments are instant and cannot be reversed” , said once, just above the button.
Enter PIN sheet
Enter PIN
Processing screen
Processing
Payment successful
Success
Payment failed
Failed · Try again
Authorise, wait, and know the result. The PIN from onboarding is finally used here; processing asks you to keep the app open; success and failure each give one clear next step , and failure says plainly that your money hasn’t left your wallet.

06 · Designing for failure

Designing for when things go wrong.

An instant payment is only trustworthy if failure is just as clear as success. Each likely problem has its own screen and a way forward: camera access off, a code that can’t be read, a username that doesn’t exist, an amount above your balance, and a payment that fails or is still pending. The pending state says plainly “please don’t pay again” , the most expensive mistake to undo.

Camera access off
Camera off
Invalid code
Invalid code
No search results
No one found
Amount above balance
Over balance
Payment pending
Pending

07 · Outcomes

Where the concept stands.

Delivered scope
A complete core flow: onboarding, two payment paths, recipient confirmation, PIN authorisation, success, failed and pending outcomes, receipts and request money.
Status
Personal concept , not built or launched.
Validation
Not yet tested with users. First test: can people spot a wrong recipient on the confirmation sheet?
Request money
Request money
Payment request QR code
Shareable payment QR
Transaction details
Transaction details
Also designed: requesting money with a shareable payment QR , the same codes Skana users scan , and a full receipt for every transaction.

08 · Reflection

Speed only matters if people trust it.

What worked

Putting one confirmation step where both paths meet kept the flow fast without hiding the moment that matters most.

What was hard

Keeping the scope small. Earlier explorations drifted into rewards, savings and merchant discovery; cutting them made the core journey complete.

What I’d change

Test the confirmation sheet early with real vendors and their customers, especially in low light and on busy market stalls.

What I learned

Error states aren’t an afterthought in payments , they are the product. Users judge the whole app by what happens when something goes wrong.

Have a product problem worth solving?

Let’s talk