User journeys
15 documented, device-verified journeys — from signup to share-out. Each is a first-class artifact linked to features and flows, and doubles as the app's end-to-end test suite (run on a physical device via Maestro). Identity is unified: one login for everyone, roles resolve per group after auth.
Test it yourself — no setup
Two ways in: tap Demo Explore in the app for a guest, offline-seeded session with no account, or sign in to the shared test instance and run a real group end to end.
👤 Kofi — Group Organizer
primary persona
Sign up & create a group in <5 min · invite members by link/code · run meetings (attendance → savings → loans → close) · approve loans · execute share-out.
👩 Amina — Treasurer
delegated per-group role
Collect savings and repayments in-meeting · reconcile the group corpus · review member savings detail.
🧑 Joseph — Chairperson
delegated per-group role
Chair loan votes · approve or reject applications on behalf of the group · confirm share-out.
🙋 Grace — Member
joins via invite code
Accept an invitation · view personal savings & loans · request a loan · track share-out projection.
🧑💼 Field officer — Supervisory
optional tier · v1.1
Oversee multiple groups · monitor repayment health · review sync & attendance.
🧭 Guest — Demo Explore
no account
Tap “Demo Explore” for an offline-seeded sample group · browse dashboards & flows read-only.
Instance admin (organizer / staff login)
Sign in as staff to organize groups, run meetings, and approve loans — or self-sign-up a brand-new organizer account.
Demo group members — sign in as any of these
Group: Mwangaza Women's Group (seeded on mifos-bank-2).
Sign in via end-user login with the phone number as username; same password for all demo members.
| Member | Role | Username (phone) | Password | What to try |
|---|---|---|---|---|
| Amina Otieno | Treasurer | +254700000001 | DemoExplore@2026 | Collect savings in a meeting; reconcile the group corpus |
| Joseph Mwangi | Chairperson | +254700000002 | DemoExplore@2026 | Chair a loan vote; approve or reject an application |
| Grace Wanjiru | Secretary · borrower | +254700000003 | DemoExplore@2026 | Has an active loan (KES 5,000) — record a repayment |
| Peter Kamau | Member | +254700000004 | DemoExplore@2026 | Request a loan; view personal savings |
| Mary Achieng | Member | +254700000005 | DemoExplore@2026 | Browse the personal dashboard & savings |
mifos-bank-2 Mifos X instance;
for a private setup, deploy Mifos X with self-service enabled and point the app at it.The core paths, device-verified
Each journey has an entry screen, an exit screen, and an executable Maestro flow that asserts the state at every step.
Servicing, self-service & oversight
idea-layer/journeys/*.yaml)
and executed on a physical device with Maestro — asserting the network call and the rendered state at each step.
A feature isn't "done" until its journey passes on-device.