Jiva
Total Outstanding: Making What SJs Owed Impossible to Miss
Jiva assumed SJs were missing repayment deadlines because they didn't care. We'd just never told them, clearly or in advance, how much they owed or when it was due.
Summary:
SJs struggled to find how much they owed Jiva, the information was scattered across the app, with no advance notice of due dates. This led to missed repayment deadlines and an average cash rotation time of 14 days. We restructured the app's information architecture to put outstanding credit front and center, consolidating what had been scattered across multiple screens. In the month following launch, cash rotation dropped to 10 days, alongside a separately introduced penalty policy and a parallel redesign of the Cash Deposit flow, and customer support inquiries about outstanding amounts fell 9%.
Context:
Jiva runs on credit: every transaction issued to an SJ or MC came with a repayment deadline, split across four different credit "buckets" depending on the type of transaction. To manage this well, users needed three things clearly: whether a credit was nearing its due date, how much Jiva had extended them, and which bucket it fell under.
We provided none of it in a usable way. The data existed, but finding it meant piecing it together across the app, buckets, running ledgers, and balances that didn't visually connect to each other.
So what was the problem?
- A Needle in a Haystack. Finding the outstanding credit amount meant hunting across the app, because Jiva issued different types of credit depending on the transaction.
- Help Me, Help You. Poor internal communication and lack of clarity frustrated internal teams as much as it did SJs.
- A Heads-Up Would Have Been Nice. Credits had due dates, and missing them had real consequences, but we never notified users in advance.
- Cash rotation. One of Jiva's most closely watched metrics. Because finding what you owed was already a struggle, it was easy to forget to repay on time, out of sight, out of mind. This averaged around 14 days, far too long.
It would have been easy to read this as a user problem. Early on, that's exactly how we read it: we assumed SJs were negligent or simply not prioritizing repayment. In reality, no one had asked them. We'd never clearly told anyone what they owed or when it was due, and were quietly blaming users for not acting on information we'd never given them.
The home screen's information architecture had never been deliberately designed, either. Teams added features over time without anyone stepping back to ask how a user was meant to navigate the result.
How bad was it?
- The home screen's information architecture had never been deliberately designed. Teams added features over time without anyone stepping back to ask how a user was meant to navigate the result.
- We misjudged the problem itself, assuming negligence where the real issue was a lack of clear, timely information.
What should make us feel we'd solved this, or given it a good shot?
- A consolidated view of the outstanding amount, easy for SJs to understand
- Easy to find within the app
- A design flexible enough to absorb what was already on the roadmap, a penalty system for SJs who missed credit timelines
Old total outstanding screen
The old home screen prominently displayed how many farmers an SJ was connected to. No one could say why that was the first thing users saw, there was no actual cap on that number, so the display was decorative at best, meaningless in practice. It occupied real estate that mattered far more for showing what someone owed.
The remaining space held a running ledger of all activity, payments to Jiva, payments from Jiva, balance, but none of it was connected. One section might suggest a user was owed money while another said they owed Jiva. That confusion drove users straight to customer support.
Without a design system, UI decisions came down to individual judgment, each person deciding what "clear" meant on their own, which produced inconsistency across the app rather than a coherent whole.
What success looked like
- A consolidated view of the outstanding amount, easy for SJs to understand
- Easy to find within the app
- A design flexible enough to absorb what was already on the roadmap, a penalty system for SJs who missed credit timelines
Design process
I sketch on paper before anything else touches Figma, it's less precious, and mistakes are cheaper to make there. Early sketches leaned heavily on data visualisation, on the assumption that a pictorial view would be easier for users to parse than a list. That assumption came from the old home screen, which nobody had flagged as broken, but nobody had asked either. I was repeating the same mistake the whole project started with: deciding what users needed without checking.
Sketches went to the PM and Tech Lead in 1:1s, deliberately, rather than group critique, it surfaces business priorities, technical constraints, and edge cases faster than design-by-committee does.
Prototype & testing
The direction that emerged: a single long-scroll screen showing amount, due date, bucket, and a visual summary together, rather than splitting the information across taps. Because a penalty system was already on the roadmap, the prototype we tested included it, even though it hadn't shipped yet, the screen needed to hold up under a requirement that was coming, not just the one in front of us.
👇🏽 Here’s the Indonesian version of the prototype:
Usability testing goal: Could MCs understand what they saw on the Total Outstanding screen, identify which transactions were accruing penalties, and know what they needed to deposit?
What we learned: SJs understood almost everything on the screen, with one exception. The bar graph at the top, the piece of data visualization I'd been most confident about going in, created more confusion than clarity. The assumption from the sketching phase turned out to be wrong exactly where testing could catch it. We removed it.
Outcomes
- Cash rotation dropped from 14 to 10 days in the month following launch, the same month a separate penalty policy was introduced, and around the same period as the Cash Deposit repayment flow redesign. Three things moved together. None of them gets to claim this number alone.
- Customer support inquiries about outstanding amounts dropped 9%. A real, directionally encouraging signal, tracked as general call volume rather than categorized by resolution channel. It doesn't distinguish between "the screen genuinely resolved the confusion" and other explanations running in parallel, including the new penalty policy changing user behaviour independently of anything the screen did.
- The information itself stopped being scattered. Amount, due date, and bucket now lived on one screen instead of requiring users to piece it together across the app.
Sai Shinde