Designing for Financial Foresight

Zoltraa started as a conversation between friends complaining about the same thing: we could all see our bank transactions, but none of us could actually tell where the money was going. The data was right there in the statement. The insight wasn't. Zoltraa exists to close that gap turning a wall of transactions into spending categories that actually mean something.

Role

Product designer

Project status

Live

Timeline

2 months

Year

2025

Tools

Figma

Collaborator

Mobile engineer

Mobile engineer

Onboarding

Onboarding

Problem

The things that kept getting in the way

Three things kept getting in the way.
Getting the transaction data in the first place was harder than it should've been. Every existing option added friction before a user had even started tracking anything.
Once you had the data, generic categories didn't hold up. Real spending doesn't sort itself neatly into "Food" and "Transport" plenty of transactions just don't fit, and forcing them into the wrong bucket makes the whole insight worthless.
And doing it by hand wasn't a real option either. Categorizing transactions one by one is the kind of task that's fine for the first ten and unbearable by the two-hundredth.

Home page states

Home page states

Solution

The give and take to build the product

For getting the data in, we looked at Three routes: linking bank accounts via Mono's open banking API, having users upload a transaction history PDF or enter the transaction manually. Mono would've made the whole thing effortless connect once, done. Then we found out what it costs: around ₦1,000,000. For a project at this stage, that's not a rounding error, that's the whole budget. So account linking is now a "coming soon," and PDF upload became the actual product. It's more friction for the user, and I know it, but it was the honest option, not the flashy one.

Once a PDF is in, Zoltraa auto-categorizes most of what it finds. Whatever doesn't fit lands in an "uncategorized" pile the user can sort through and assign manually, so the effort that's left is reviewing, not entering.
Categories themselves are fully user-named. Nobody's spending fits someone else's taxonomy, so I didn't try to predict it, I just gave people the controls.

Adding transactions

Adding transactions

Uncategorized transactions

Uncategorized transactions

Categorizing spending is only half the job the other half is telling someone something they didn't already know. That's what the Insights page is for.

The centerpiece is what we call a stability score: a single number for financial consistency that ignores one-off spikes (a big purchase, a bad month) and instead tracks whether your cash flow, debt, and savings habits are trending stable, improving, or all over the place. It's less "here's what you spent" and more "here's whether you're actually getting better at this."

Underneath that sits a few more specific views: category insights break spending down by where the money's going; spending habits show which days of the week you tend to spend the most (turns out most people have a day); savings potential flags spots where money's leaking out that could be cut; and a bank charges insight surfaces the fees people usually don't notice until they add them up.
On top of all that sits an AI chat, so instead of digging through charts to answer "how much did I spend on transport last month," you can just ask it.

Insights screen

Insights screen

Insights screen

Insights screen

Individual insights screen

Individual insights screen

Insights screen

Insights screen

The PDF-upload decision is the part I keep coming back to. It's objectively a worse experience nobody wants to go dig up a bank statement and upload it. But ₦1,000,000 for open banking access wasn't a "nice to have, cut for v1" cost, it was a "this doesn't exist without it" cost. Choosing the workaround over the ideal flow was the right call for where the project actually is, even though it's not the version I'd put in a highlight reel.

Conclusion

What was learnt

What shipped is PDF-based transaction import, automatic categorization with manual cleanup for the leftovers, and fully custom categories. Account linking stays on the roadmap for whenever the economics make sense.

Trust turned out to be the real product, not the categorization engine. People are cautious about handing over financial data to something new, and PDF upload for all its friction is actually a lower-trust ask than "link your bank account to an app you found yesterday." Open banking in Nigeria is still mostly unclaimed territory; most fintech products haven't pushed past the basics of what it can do. Next time, I'd design the trust-building explicitly instead of treating it as a side effect of the onboarding flow show people exactly what's being read, when, and why, before asking for anything at all.

If you're building products that requires thoughtful design, I'd love to talk.