Project overview
You are designing a group ledger for Esusu / Ajo: who paid, whose turn to collect, and reminders. Position as record-keeping, not holding money in the app.
- Platform
- Mobile app · Android-first · portrait
- Screens
- 10 screens + 1 unhappy path (11 frames)
- Features
- 3 core features
- Bottom navigation
- Bottom navigation with 3 items: My Groups · Payments · Profile
- Prototype
- 4 linked flows
Build order: Auth (screens 1–4) → nav tabs (5–7) → core flow (8–10) → unhappy path → link prototypes.
Problem & primary user
The Ajo / Esusu rotating savings system is widely used in Nigeria but runs entirely on trust and paper records. Group organisers disappear with funds. Members forget to pay. Disputes destroy long-standing friendships. The entire system needs a digital layer that adds accountability without removing trust.
Primary user
"Mama Tunde, a 50-year-old trader in Lagos who manages a 12-person Ajo group and struggles every month to track who has paid, whose turn it is to collect, and how to handle members who default."
Geographic scope: National-level
Goals
User goal: Manage her Ajo group digitally: track payments, know whose turn it is, and send reminders without awkward conversations.
Business goal: Digitise informal savings groups and use contribution history to offer members instant loans.
Success: In a quick test, a group manager sees Paid / Pending, rotation, and understands the default warning state.
Market context
- Question
- Answer
- Who pays
- Members rarely pay. Group manager might pay a small fee for reminders and ledger, or platform earns on loans/escrow later (assumption). App must not imply holding cash without license.
- Why not WhatsApp
- Ajo groups already use WhatsApp for “pay before Friday” messages. WhatsApp does not show rotation order, paid/pending grid, or default warnings in one ledger.
- Design focus
- Design group manager view with shame-free reminders and Paid/Pending clarity. Position as record-keeping, not a bank.
Competitors to check:
- Paper ledger + cash handover (default)
- WhatsApp group chats
- Icontribute (digital Ajo/Esusu; rotation and payouts)
- PiggyVest Target Savings circles (group save; not classic Esusu rotation ledger)
Validate before you design
Interview 3–5 people who match your primary user. Update this brief if interviews contradict it. Do not start hi-fi until you complete the confirmation below.
- Validated user (name, age, city)
- Problem in one sentence
- One interview quote
- Success metric for your test
- Primary colour and tone
- One competitor you checked
Interview prompts
- "Walk me through the last time this happened."
- "What did you use instead? WhatsApp, paper, or nothing?"
- "What would make you trust this on a cheap Android phone?"
- "What would stop you from using this every week?"
Features & scope
v1 · three features
- Create a group, set the monthly contribution amount, and add members
- Automatically calculate and display the rotation order and each member's collection date
- Auto-send payment reminders to members before their contribution is due
Out of scope
- Holding contributions in-app without license
- Bank escrow or instant loans in v1
- Multi-currency or international groups
Screens
Design every row in wireframe, high-fidelity UI, and prototype (where the flow applies).
| # | Layer | Screen | What to show |
|---|---|---|---|
| 1 | Auth | Splash Screen | App name and a warm illustration suggesting community and trust. |
| 2 | Auth | Onboarding (2 screens) | Screen 1: What Ajo Digital does. Screen 2: Are you a Group Manager or a Member? (two options). |
| 3 | Auth | Sign Up Screen | Name, phone number, and PIN. |
| 4 | Auth | Sign In Screen | Phone number and PIN. |
| 5 | App shell | My Groups (tab) | Group list with next payment date and whose turn to collect. |
| 6 | App shell | Payments (tab) | Upcoming due dates across groups with paid/pending badges. |
| 7 | App shell | Profile (tab) | Name, phone, and role (manager or member). |
| 8 | Core flow | Group detail | Members, paid/pending, whose turn to collect. Show bottom nav on post-sign-in screens. |
| 9 | Core flow | Create group · Done | New group saved with rotation start date. Show bottom nav on post-sign-in screens. |
| 10 | Core flow | Payment reminder sent | Reminder confirmation for pending member. Show bottom nav on post-sign-in screens. |
Layers: Auth = 1–4 · App shell = 5–7 · Core flow = 8–10
Prototype flows
Link these in Figma. Examiners should click through without your voice-over.
Flow 1 · App entry
Flow 2 · Core task (all three features)
Core flow screens: Group detail · Create group · Done · Payment reminder sent
Flow 3 · Navigation
Link every nav tab so examiners can tap each bottom nav item. Tabs: Bottom navigation with 3 items: My Groups · Payments · Profile
Flow 4 · Unhappy path
Trigger the unhappy path edge case and link to that screen.
Unhappy path
Design this as its own screen state (frame 11):
A member has not paid and their turn to collect is next week. Highlight their name in red on the Group Detail Screen and show a warning: 'This member has an outstanding payment. Contact them before their collection date.'
Link in Flow 4.
Design system
- Colour
- You choose. Keep it simple and readable.
- Type
- You choose. Keep body text easy to read on a phone.
- Tone
- Design for your user, not for a tech audience.
Reuse on every screen:
- Primary button (active and disabled states)
- Input field (empty, filled, and error states)
- Card or list item used across the app
- Navigation bar with correct labels and icons
- Empty state: what the screen looks like with no data
Submit & defense
Deliverables
| # | Deliverable | What good looks like |
|---|---|---|
| 1 | Wireframes | Every screen in this brief, plus the unhappy path. Layout and labels clear. |
| 2 | High-fidelity UI | Same frames polished. You choose colour and type. Bottom nav on every post-sign-in screen. |
| 3 | Prototype | Four linked flows (entry, core task, navigation, unhappy path). Examiners can use the app without your voice-over. |
| 4 | AI prototype | Figma Make: at least 2 screens. Share link. |
| 5 | Case study (1 page) | Problem · User · Who pays · Competitors · Solution · One design decision |
| 6 | Presentation (6–8 slides) | Name · Problem · User · Solution · Key screens · Flow demo · One decision |
Before you present
- Every screen designed in wireframe and hi-fi
- Unhappy path screen designed and linked in the prototype
- Four prototype flows linked end to end
- At least one empty state on a list tab
- Shared components reused: button, input, card or row, bottom nav
- Case study names who pays and one competitor you checked
- You can explain one design decision in critique (why, not what)
- Completed 5 user interviews or 1 usability test
- Checked at least one competitor listed under Market context