01
Ask only what the user knows
The name, the price and the date. The logo, the brand colour and the category are worked out from the name, so there is no picker for any of them.
Case study 02
A subscription tracker that tells you before the money leaves, not after, in the currency you actually earn.
Context
Streaming, music, cloud storage, a gym, a design tool: each one is a few dollars, each one renews on its own date, and most of them are billed in a currency the person paying does not earn. Nobody decides to spend a hundred and forty dollars a month on subscriptions; it happens one renewal at a time. Cadence is a full prototype of a tracker built around the moment that matters, the few days before a charge, when there is still time to cancel.
Problems
Four things stop people from keeping track of what they pay for.
Challenge
Make adding a subscription take three fields, make every price legible in the local currency, and warn people while there is still time to cancel.
Approach
01
The name, the price and the date. The logo, the brand colour and the category are worked out from the name, so there is no picker for any of them.
02
Reminders arrive at a time the user chooses, three days before a renewal and a month before a yearly one, rather than whenever the app happens to be opened.
03
Cancelling is always one tap away but never the loudest thing on a screen, and it asks once, in plain words, before anything is removed.
Adding
Typing "Netflix" is enough for Cadence to attach the real logo, Netflix's red and the streaming category; a service it does not know gets a colour generated from its name and a best guess at the category. The country chosen at sign-up sets a second currency, so the price field answers the question people actually have, how much that is in cedis, as they type. Every dropdown is a scroll wheel, and the value under the centre line lights up while the wheel is still moving, not only when it stops. A missing field turns red, shakes once and says what it needs, in place of the browser's own pop-up.
The subscription
Opening a subscription leads with the price, highlighted in the brand's gold, and says when the next charge lands in words rather than a date to decode: "Next billing in 6 days". The latest receipt opens as a sheet with its own reference number, and the billing history lists every charge of the past year with a running total, each one opening the same receipt. Cancelling sits at the bottom of the page in red, and its confirmation reads "Keep it" or "Cancel it", never "Cancel" and "Cancel subscription" side by side.
Introducing
Every notification has a delivery time: its notice day at the reminder time set in Settings. Until then it does not exist; when the time comes, a banner slides in, the bell picks up a dot, and tapping either opens the full message, with the amount, the date and the card it will be charged to. A payment that was due and not updated turns into an overdue notice the next morning. The explanation of how it all works lives behind a small ⓘ beside the reminder time, instead of as a paragraph under it.
Around the edges
Analytics answers "when" as well as "how much": a bar per month, past months in ink, this month in coral and the coming months as a grey forecast, so a heavy October is visible in September. Turning renewal reminders off really does silence them. The inbox says so, keeps showing overdue payments, which are not reminders, and offers the way back to Settings.
Live prototype
The frame holds the real React build, not a recording. Type a service's name into the add form and its logo and colour appear on Home. Open a subscription for its receipt and a year of charges. Tap the bell for the reminders due this week.
Subscriptions, settings and what has been read are all saved on the device, so leaving and coming back picks up where you left off.
Open it full size for the same build with an index of every screen, from sign-up onwards.
Where it got to
17 screens, clickable end to end: sign up, add, track, get reminded and cancel, with everything saved between visits.
Alternatives
The subscription screen began with editable category chips and two large cards side by side, "Cancel subscription" and "Edit details". The chips asked the user to maintain something the app had already worked out, so categories went back to being detected silently. The two cards gave cancelling the same weight as editing; cancelling became a quiet red button at the foot of the page and editing a pencil in the header. The reminder settings went the same way: a line of explanation under the time became an ⓘ beside it, because the explanation is needed once and the setting every time.
Reflection
Final notes
Cadence is a prototype, not a live service. There is no bank connection, so billing history and receipts are estimated from each subscription's cycle and current price, and without a server reminders can only be delivered while the app is open; anything that came due in between is waiting, with the bell's dot, the next time it is. Everything else, from the currency conversion to the read state of every notification, works and persists on the device.