Define the Problem
Sokowatch is a B2B e-commerce platform that enables small-scale retailers across informal urban markets to order fast-moving consumer goods (FMCGs) for same-day or next-day delivery — bypassing middlemen and getting products at competitive prices. Shopkeepers place orders via the Sokowatch Android app and pay via M-PESA.
The central tension: shopkeepers have irregular cash flow. Most days, a mama mboga or duka owner has stock running low at the same moment their cash is running low. They want to reorder — but they can't pay. The middlemen they used to rely on sometimes extended short-term credit. Sokowatch did not.
The brief was to design S-OKOA — a credit and loyalty system embedded inside the Sokowatch app — so retailers could order stock on credit, build a credit score through loyalty points, and repay via M-PESA on a defined schedule.
Cash-flow mismatch at ordering time
Retailers have low cash precisely when they most need to restock. Without credit, stock gaps mean lost sales — and lost sales mean less cash to restock next time. A self-reinforcing trap.
Three integrated features
An instant Sokoa loan facility, a Sokowallet to hold and grow credit, and redeemable loyalty points that convert shopping behaviour into credit score. One coherent system, not three separate tools.
Familiar, simple, trustworthy
Most users had used credit facilities before — MPesa Fuliza, Tala, M-Shwari. The design had to feel as immediate and trustworthy as those, but embedded inside a shopping flow they already used.
Credit underwriting logic
The algorithm for determining loan eligibility and limits was handled by Sokowatch's financial partners. UX owned the eligibility confirmation, loan request, and repayment flows — not the scoring model behind them.
User Research
To design with empathy rather than assumption, I led user interviews with shopkeepers operating in Kawangware and surrounding informal markets. The goal was to understand their mental models around credit, their daily stock-ordering behaviour, and how they currently managed cash shortfalls.
User interviews
In-depth contextual interviews with small-scale retailers. Focus on daily routines, ordering behaviour, payment habits, and existing credit relationships.
Insights synthesis
Clustered interview data into key insights and hypotheses. Identified what retailers must have vs. what would be nice to have.
Persona + CJM
Synthesised findings into one primary persona ("Jamo") and a customer journey map covering the full stock-ordering cycle.
Lo-fi → Hi-fi
Rapid wireframe sketches validated concepts before moving to polished hi-fi prototypes in the Sokowatch visual language.
Key insights & hypotheses
The interviews surfaced a consistent set of patterns across retailers. These became the design hypotheses we tested through prototyping:
- Most users are already familiar with credit facilities (Tala, Fuliza, M-Shwari)
- Most have used the Sokowatch app for 3+ months
- Shopkeepers already extend credit to their own customers — they understand the concept
- Retailers save money on Sokowatch vs. middlemen pricing
- "I want to borrow (KOPA) when I'm low on money"
- "I need fast delivery when I order goods"
- "I want to pay via M-PESA because I trust it"
- "I want a wallet to save my profits"
- "I want to see my order history for record-keeping"
- Instant loan feature (Sokoa)
- Loyalty points redemption for goods
- M-PESA loan repayment
- Full order history view
- Credit score visibility
- Onboarding screen for new users
- Sokowallet to boost credit score
I want the goods delivered fast. The middlemen always come at 5am — I need to prepare my shop the night before.
He has problems accessing credit. He wants to buy more goods but has no money — and no way of knowing his order history.
He wants to pay via M-PESA because of the security. He already uses it for everything else in his business.
He is looking to grow his credit score so that one day he can own a big supermarket. He wants to scale his shop.
User Persona — James "Jamo" Mwangi
After synthesising the user interviews, I created a primary persona to anchor all design decisions. Jamo is not a fictional composite — he is a faithful representation of the real shopkeeper archetype the research surfaced most consistently.
"I want to own a big supermarket one day. I want to scale my shop."
- Location
- Nairobi, Kawangware
- Livelihood
- Small-scale retailer operating a duka full-time with side projects to supplement income
- Device
- Smartphone — uses M-PESA daily for all transactions
- Rational needs
- Borrow when low on cash · Fast delivery · Grow credit score · M-PESA payments · Wallet to save profits
- Pain points
- No way to know when goods will arrive · Problems accessing credit · No order history · Wants more goods but has no money
- Must give him
- Loan feature · Points redemption · M-PESA repayment · Order history · Credit score visibility
Customer Journey Map
The customer journey map traces Jamo's complete stock-ordering cycle — from checking his book to see what is needed, through calling middlemen, managing delivery logistics, completing stock take, and handling payment. Each stage shows what he is doing, what he is thinking, the friction he encounters, and the opportunity for S-OKOA to intervene.
The map was the single most important alignment artefact in the project — making the retailer's lived experience legible to Sokowatch's product and engineering teams, not just the design team.
FIG. 01 — Customer Journey Map · 4 stages mapped across Feelings, Doing, Thinking, Pain, and Gain dimensions. The map surfaces exactly where the S-OKOA credit feature should intercept the ordering flow.
- Doing: Checks his book, calls the middleman, empties shelf sections to prepare
- Pain: Middlemen are busy or forget his order
- Opportunity: In-app ordering with confirmed delivery window
- Doing: Middlemen require full amount upfront or give very short credit
- Pain: Has insufficient funds to complete the order
- Opportunity: S-OKOA Sokoa Loan at checkout — buy now, pay via M-PESA
- Doing: Paper book for stock — frequently lost
- Pain: No digital record of orders or loan repayments
- Opportunity: Order history + Sokoa repayment dashboard with M-PESA integration
Recommended Solution
The research synthesis pointed to three interlocking features that, together, solve the cash-flow problem while building long-term retailer loyalty:
Sokoa Instant Loan
An in-app credit facility that activates at checkout when a retailer selects "Sokoa Loan" as their payment method. Eligibility is checked instantly, loan terms are displayed clearly (repayment amount, fee, due date), and the order is placed on loan — stock delivered within 2 days, repayment via M-PESA.
Sokowallet
A digital wallet where retailers can save profits from their business. The wallet balance directly boosts their credit score — the more they save, the higher their Sokoa loan limit grows. Retailers can withdraw from the wallet to M-PESA at any time.
Redeemable Loyalty Points
Every order earns Sokoa Points. Points accumulate into a credit score shown on a circular gauge. When points reach a threshold, they convert to KES value that can be redeemed against future orders — effectively a discount on stock for loyal customers.
One flow, not three features
Jamo shouldn't need to understand "Sokoa" vs "Sokowallet" vs "Points" as separate systems. At checkout, he sees his credit options clearly. On his Sokoa dashboard, everything is unified. The complexity is ours to manage — not his.
Lo-Fi Wireframes
Lo-fi wireframes are rapid sketches created to make ideas tangible before investing in visual design. They surface structural and interaction decisions early — before colour, typography, or brand language gets in the way of the critique.
The wireframes below map the complete S-OKOA flow: from the Sokoa credit score page through shopping cart, payment method selection, loan confirmation, and delivery scheduling.
Lo-fi wireframes are quick sketches created to make ideas tangible. They help identify concepts and mistakes before any investment in visual design — the best time to throw away an idea is before it looks polished.
— Design principle · S-OKOA project briefHi-Fi Prototypes
The hi-fi prototypes brought the S-OKOA system to life in Sokowatch's visual language: a bold purple gradient for the Sokoa brand, teal for primary actions, and clean typography for financial data. Each screen was designed to handle a single moment of decision — reducing cognitive load at each step in the credit flow.
Sokoa Points & Dashboard
The Sokoa Points page leads with a circular gauge showing the retailer's current points and credit score rating. The KES equivalent is displayed prominently so Jamo immediately understands the real value of his points. Action tiles for Sokoa information, repayment, and order history anchor the secondary tasks.
Shopping Cart
The cart screen uses a three-step stepper (Cart → Schedule → Payment) to orient Jamo in the checkout process. Each product card has quantity controls and a swipe-to-remove gesture for when the total exceeds available funds. A Sokoa upsell banner at the bottom of the cart is the first point of awareness — "Are you low on funds? Sokoa!"
FIG. 02 — Shopping Cart · 3-step stepper, product cards with +/- controls, swipe-left to remove, subtotal KES 7,300, Sokoa upsell CTA at bottom
Sokoa Loan Confirmation & Approval
The loan confirmation screen is the highest-stakes moment in the flow. Two screens handle this deliberately: first, the details screen with the approved limit, the loan amount needed for the order, repayment amount, fee, and due date — with a T&C checkbox before the CTA. Then a clean success screen confirming the loan is approved and delivery is on its way.
Key Design Flows
The complete S-OKOA experience covers five distinct flows, each mapped through lo-fi wireframes and validated before moving to hi-fi production. The flows are sequenced as a retailer would experience them in a single ordering session:
Sokoa Points Page
Entry point to the credit feature. Circular gauge shows current points (1000 pts = KES 10,000). Quick-action tiles for Sokoa information, repayment history, and order history. Outstanding loan balance and due date visible at a glance. CTA to ORDER STOCK launches shopping flow with credit eligibility pre-confirmed.
Shopping Cart
Product cards with quantity steppers (+ / −). Swipe-left gesture removes an item from cart when subtotal exceeds available funds. Sokoa upsell banner appears in cart footer: "Are you low on funds? Sokoa! Place your order and receive 73 Points FREE." CTA proceeds to delivery scheduling.
Payment Method Selection
Three payment options presented: M-PESA (auto-triggers push notification to enter PIN), Cash on Delivery, and Sokoa Loan. Sokoa Loan option expands inline to show available points (73 pts = KES 7,300) and a "Request Sokoa Loan" button. No navigation away from the payment screen.
Sokoa Loan Details & Confirmation
Full loan terms displayed: approved limit (KES 10,000), amount needed for this order (KES 7,300), repayment amount (KES 10,700), loan fee (KES 700), next pay date (12.03.2020). T&C checkbox before "Request Sokoa Loan" CTA. Success modal on approval: loan processed, goods en route within 2 days.
Delivery Scheduling
Intuitive time-slot picker: date headers with 4 time slots per day (8AM, 11PM, 1PM, 3PM) shown as tappable button grid. Retailer picks a slot that works around their shop opening hours. Confirmation locks in the delivery window and sends a push notification.
Outcomes & Learnings
What made this design work
Existing credit mental models
Because Jamo already used M-Shwari and Tala, the Sokoa Loan concept needed almost no explanation — only clear display of terms (amount, fee, due date). The design trusted the user's existing literacy rather than over-explaining.
M-PESA as the trust anchor
Research showed M-PESA was the universal trust layer for informal retail payments. Positioning M-PESA as the repayment mechanism — not a proprietary Sokowatch wallet — made the loan feel safe and familiar rather than experimental.
Points as a credit score story
Rather than a raw score (650/850), we used the circular gauge and KES equivalent to make the credit score legible to a user who thinks in shillings, not credit scoring systems. "Your 1000 points are worth KES 10,000" is a concrete, motivating number.
Contextual Sokoa entry points
S-OKOA appears at three moments in the shopping flow: as a bottom banner in the cart ("Are you low on funds?"), as a payment option at checkout, and as a standalone dashboard. Each entry point meets Jamo where he is — not where the product team wants him to be.
Learnings
- The CJM was the most impactful artefact, not the prototypes. Mapping the stock-ordering cycle end-to-end — from checking the paper book to managing delivery at 5am — gave the product team context they didn't have. Features that seemed like nice-to-haves (order history, delivery scheduling) became obvious requirements once the full journey was visible.
- Financial UX lives or dies on transparency at the moment of commitment. The loan details screen (amount, fee, due date) had to show everything, clearly, before the user tapped "Request." Any ambiguity at that moment would create distrust that undermined the entire feature. Every detail shown on that screen came directly from user interview insights about what felt "risky."
- Points need a real-money translation to drive behaviour. Early wireframes showed points as a number (1000 pts). Testing with retailers revealed the number was meaningless without the KES equivalent. "1000 points = KES 10,000" was the phrase that made the loyalty system feel worth engaging with.
- Swipe-to-remove is a high-value micro-interaction for constrained-budget users. Jamo's scenario — realising mid-cart that he can't afford everything — needed a graceful, fast way to reduce his order. The swipe-left-to-remove pattern (borrowed from messaging apps he already used) required no instruction and felt natural in testing.