Lunora

Case

A fintech app for subscriptions and recurring payments where every payment state explains what’s happening and what to do next.

Role
Product Designer
Team
Solo
Platform
iOS · Android
Status
Prototype · 4 usability tests
Type
Own project · 2025
In short
Problem
Payment states – processing, error, timeout – most often leave people without an answer about their money.
What I did
The full cycle on my own project: a survey, desk research, scenarios, states, a UI kit and four usability tests of the prototype.
Result
Processing now shows which step the payment is on. Timeout got its own state, separate from Failed. The first change came from usability tests; neither is retested yet.
4usability tests of the prototype
9people surveyed
Lunora – project screens
Context

Lunora is my own project where I went through the full cycle: a survey, desk research, a hypothesis, scenarios, states, a UI kit, four usability tests of the prototype and a metrics plan. The focus is on what study projects usually skip: errors, timeouts and retries.

Research

What the research showed

An analysis of banking and subscription managers showed the same: processing is often “empty”, and an error with no next step erodes trust. Hence the hypothesis: explaining the status, the reason and the next action gives people more sense of control.

Survey · 9 people · key findings
6 of 9

Have seen a charge for a subscription they forgot about

8 of 9 use two or more cards or accounts
9 of 9

Want one app for subscriptions, bills and spending

Four of them – if the interface is simple
7 of 9

Cautious about AI: “depends on security”

No one is negative. 6 would trust it more if features could be turned off
9 of 9

Chose a neutral tone: “Your spending went up by 10%”

4 of 9 name stress as the hardest part of managing money
0 of 9

Named financial advice as their main need

So AI is a contextual explanation, not a central chatbot
5 of 9

Want to avoid unexpected charges

9 of 9 manage money through banking apps

The sample is small and homogeneous: all nine are employed, eight are aged 21–40. It gives a direction for decisions, not a test of the hypothesis.

From insights to decisions

What we learnedDecision
Several financial sourcesOne dashboard and a wallet selector
Forgotten subscriptionsA subscription overview, next payment date, reminders
A request for simplicityKey information first, a restrained hierarchy
Advice isn’t the main priorityA contextual AI explanation instead of a central chatbot
Uncertainty about payment statusSeparate states with matching explanations and actions
States

Payment states

Each state answers three questions: what’s happening now, why it happened and what to do next.

Decisions
Decision 01

Processing explains what’s happening

Why
Two of the four participants in the prototype test said that payment processing took too long. That made me look not only at the waiting time but at how the interface tells people what state the operation is in: when you don’t understand what’s happening, the wait feels longer and creates uncertainty.
What I did
Before, the steps “Checking card → Confirming payment → Almost done” were just text. I added a progress ring and checkmarks on completed steps, and highlighted the next step. There are no percentages: the duration depends on external payment systems.
Result
You can see which step the payment is on and that it’s moving forward, not stuck.

StatusThe changes are in the prototype. Retesting hasn’t yet confirmed how well they work.

After: Processing with a progress ring and ticks on completed stepsBefore: Processing as text only, no progressBefore testingAfter testing
Before testing: text with no progressAfter testing: a ring and steps with ticks
Decision 02

Timeout isn’t Failed

Why
During a timeout, people don’t know whether the money was charged and aren’t sure whether to repeat the payment. If the timeout is shown as an error, they may pay twice.
What I did
Two different states. Failed – a no-blame message and two actions: Retry or Change payment method. Timeout – a neutral “We’re still processing the payment”.
Result
A timeout no longer looks like an error, so there’s no reason to pay twice.

StatusA shared pattern in the UI kit with the same CTA logic.

Processing, payment error, payment still processing
Processing · Failed · Timeout
Decision 03

A next step in every state

Why
When a payment fails, people don’t see a clear next step and don’t know when the subscription will be active again.
What I did
Subscription details show the status, amount, next payment date and method. After success – a short confirmation and a return to Active with the new date.
Result
After any payment outcome, people know whether the subscription is active and when the next payment is due.

StatusIn the prototype with Smart Animate.

Subscription details with an error, payment confirmed, subscription active
Failed in details · Payment confirmed · Active
Decision 04

Onboarding and wallets without pressure

Why
Finance apps often add pressure, and 4 of 9 respondents name stress as the hardest part of managing money.
What I did
Onboarding asks what the person wants to track, the notification request explains the benefit, and a wallet can be connected or skipped.
Result
People choose what to connect and when, with no mandatory steps.

StatusIn the prototype.

Welcome, choosing what to track, notification permission
Welcome · what to track · notification permission
Trade-offs

In finance there are often two right answers. Here is what I was choosing between and what won.

BetweenWhat I choseWhere
Speed and safetyIntentional friction where a mistake is costly: background actions are blocked during processingProcessing
Clarity and cognitive loadInformation is revealed progressivelySubscription details, onboarding
Automation and controlCritical actions stay explicit and visibleRetry, Change payment method
Detail and a quick finishA minimal success state to close the scenario quicklySuccess

AI is a helper, not the source of truth

AI is meant as a contextual helper: a short explanation of the current situation and the available actions in a bottom sheet. It doesn’t decide on its own whether a charge went through: statuses have to come from reliable payment infrastructure, and the concept has no such integration.

Progress indicators

In Lunora I separated two kinds of processes: the initial product setup and the processing of financial transactions.

Wallet setup – determinate progress
The Setting things up screen uses a 0–100% indicator, which in the prototype shows the expected interface behaviour during setup. In the real product this indicator has to be tied to the actual completion of the steps. If the backend can’t provide reliable progress data, an indicator without percentages is planned.
Payment processing – indeterminate progress
While a payment is being processed, the duration depends on external payment systems. A percentage indicator could therefore create a false expectation of when it will finish. For this scenario I chose a status interface that explains the current step, without artificial percentages.

The principle: a progress indicator has to show reliable information, not create an illusion of control.

Accessibility is built into the system: high contrast in the dark UI, a clear type hierarchy, large tap targets and short “what happened → what to do” messages. There haven’t been tests with assistive technologies yet – next come a WCAG review and screen reader flows.

Metrics

How to measure

These are proposed metrics, not measured results: the product isn’t launched. The next step is usability testing of the prototype on failed payment, timeout and payment method change scenarios.

MetricWhat it shows
Status comprehensionWhether people tell Failed and Timeout apart
Time to resolveTime from the problem appearing to it being resolved
Payment recovery rateShare of successful payments after an error
Retry drop-offShare of people who leave the retry flow
Duplicate attemptsHow often people retry before the result is confirmed
Design decisionExpected effect
Separate payment statesLess panic, fewer exits from the flow
Clear CTAs on every stateFaster decisions, fewer chaotic retries
Timeout separate from FailedFewer double payments, more trust
Prototype

Prototype

Onboarding and connecting a wallet

Screens and animations from the Figma prototype: the intro with a stack of cards, sign-up, the first wallet and the setup progress. It plays on its own; switch to «Try it yourself» to click through it.

  1. Splash
  2. Intro: three steps
  3. Sign-up and preferences
  4. First wallet
  5. Wallet type
  6. PayPal
  7. Setting things up

Outcome
  1. 01

    The survey showed interest in one place for finances, but also caution about AI – so the bet is on transparent statuses, and AI stayed an assistant concept.

  2. 02

    Deliberately out of scope: bank integrations, legal scenarios, monetisation and ML implementation.

  3. 03

    Next – test the new Processing and Timeout with people (neither has been retested yet) and measure payment recovery rate and drop-off during retry.

Next
Contact

Write to me

It goes straight to my inbox, and I’ll reply from there.

Testimonials

Leave a testimonial

It appears on the site after I review it.