01
Put the answer above the fold
The balance and the way in are not rewards for scrolling. This settled the argument about the promo card: it stays, but below the account, where it is still visible and no longer in the way.
Case study 04
A ground-up redesign of Absa Ghana's iOS banking app, built around the three things people actually open it for.
Context
Absa Ghana's mobile app is the one I actually use. This started as a personal audit: I opened the app and wrote down every place it made me stop and think. By the end the list had stopped being about taste and started being about structure. Nobody commissioned any of it. I also kept every constraint the real app has to live with instead of designing them away, so the biller directory still has all 217 entries, there are still 13 account products, and mobile money still runs across MTN, Telecel and AT.
Problems
Four things cost me time on every single visit.
Challenge
Make checking a balance, sending money and paying a bill reachable without a single tap the app could have made for you.
Approach
01
The balance and the way in are not rewards for scrolling. This settled the argument about the promo card: it stays, but below the account, where it is still visible and no longer in the way.
02
If the app has the number, the app fills the number. That took out the verification step when you send to yourself, and the from-account selector whenever there is only one account to choose.
03
Money screens should grow as the stakes rise. The amount is the largest thing on the review screen, with the fee and the total sitting under it instead of hidden behind a disclosure.
Growing pains
The original is built as a directory: four tabs, each one a list of everything that tab can do. That scales nicely for the bank, because a new service is just one more row, but not for the person holding the phone, who is almost always there for one of three things. The lists grew past the fold, the balance got pushed down by whatever was being promoted that month, and the flows kept the shape of the forms behind them.
The redesign
The dashboard leads with the balance and a six-action grid that fits without scrolling. Login leads with Face ID as the primary button and keeps username and password as a clearly labelled second route rather than the default. Sending to yourself opens already filled in, with the wallet named and the number in place. The review screen carries the amount at full size, with the fee and total underneath. The dark surface stayed, because the brief was never to redecorate, but every colour was worked out again against WCAG and the whole palette was rebuilt as tokens.
Introducing
The bank lists 217 billers, and 165 of them, which is 76%, sit in a category called "Others". Browsing by category cannot work for three quarters of a directory. So the picker leads with search, and keeps the categories as collapsible sections for the quarter they do serve.
Live prototype
Everything in the frame is the real React build, not a recording and not a carousel of screenshots. It responds to you. Open a category and it expands while the last one closes. Type an amount past your balance and the Continue button refuses it. Send a transfer and a real receipt comes back with a transaction ID on it.
All 217 billers are in there, along with the thirteen account products and the whole send-money flow.
Open it full size for the same build with an index of all 26 screens.
Measuring success
Nothing here shipped, so there is no launch number to quote. What can be checked: the balance and the biometric prompt both sit above the fold, sending to yourself lost a verification screen and three fields the app could already fill, and every text and surface pairing in the palette clears 4.5:1, worked out by calculation rather than by eye.
Alternatives
Two directions got far enough to judge. The first was a light theme. The palette is tokenised and carries a complete second mode, so switching it is one setting rather than a redraw. I dropped it because the brand magenta has to darken a long way to hold its contrast on white, and by the time it does, it stops reading as Absa and starts reading as some other bank. The second was building every selection state as its own prototype screen. That worked right up until a category list with fourteen states meant five taps of Back to leave a single screen, so I rebuilt them as component variants instead.
Reflection
Final notes
The React build running above is one of two artefacts. The other is the Figma prototype it was drawn from: 79 screens and 853 connections, with the bill accordion and every selection state built as component variants rather than duplicated screens. Open the Figma prototype. This is an independent concept. It is not affiliated with, commissioned by, or endorsed by Absa Bank Ghana, and the screenshots of the original app are here for comparison only.