6 household personas + 1 Pantry Pro persona, per-persona journey maps, and the design implications that follow from them.
| Persona | Role | Primary surface | Tech comfort | Key need | Status |
|---|---|---|---|---|---|
| Lerato | Approver, orchestrator | Mobile app + Web dashboard + Nest Hub | High | Control and visibility without manual effort | Primary ICP |
| Kekeli (11) | Requester, consumer | Voice (Nest Hub), tablet | Medium | Requests that actually reach the shopping list | Active |
| Sipho* (7) | Requester, consumer | Voice (Nest Hub) only | Voice-native | Zero-effort requests, no screen needed | Phase 2 |
| Thabo | Delegated shopper | WhatsApp only | Very high | Frictionless task completion, no new app | Active |
| Grace | Inventory scout | Voice (Nest Hub) + WhatsApp | Moderate | Reliable reporting without data cost | Phase 2 |
| Gogo | Temporary member | Voice (Zulu preferred) | Low | Inclusion and flexibility for traditional items | Edge case |
| Sipho Dlamini | Restaurant owner (Pantry Pro) | Mobile + sensor dashboard | High | Real-time stock during service, auto-PO | Future ICP (Pro) |
| Phase | Action | Surface | Pantry's role | Emotion |
|---|---|---|---|---|
| Morning check | Asks "Hey Google, what do we need?" while making coffee | Nest Hub | Reads back prioritised list: "Probably out of milk and eggs. Grace reported Sunlight low. Sipho wants yoghurt." | Informed, in control |
| Review | Opens app during commute to review full list | Mobile | Shows categorised list with confidence levels, costs, and suggested store | Confident |
| Edit | Removes Sipho's sweets request, adds avocados | Mobile | Updates list, recalculates total (R380) | Amused, efficient |
| Order | Taps "Send to Checkers Sixty60" | Mobile | Deep-links to Sixty60 with pre-populated cart | Satisfied |
| Delivery | Sixty60 delivery arrives at home | Passive | Auto-detects order confirmation email, updates inventory | Effortless |
| Feedback | Grace unpacks, notes avocados aren't ripe | Nest Hub | Notes produce timing for future orders | Heard |
| Phase | Action | Surface | Pantry's role | Emotion |
|---|---|---|---|---|
| Observation | Notices dish soap nearly empty while cleaning | Physical | None yet | Responsible |
| Voice report | "Hey Google, tell Pantry: Sunlight almost finished, need rice" | Nest Hub | "Got it, Grace. I've added Sunlight dish soap and rice to the list." | Efficient, acknowledged |
| Midday | Notices cooking oil is low while making lunch | Nest Hub | Adds to list. Now 3 items from Grace today. | Thorough |
| Confirmation | Receives WhatsApp from Pantry bot end of day | "Hi Grace, today you reported: Sunlight dish soap, White Star rice 2kg, Sunfoil oil 750ml. All on Lerato's list." | Reassured, documented |
| Phase | Action | Surface | Pantry's role | Emotion |
|---|---|---|---|---|
| Trigger | Lerato assigns task: "Grab these on the way home" | Mobile (Lerato) | Generates curated list for Thabo, optimised for Checkers Rosebank | Delegating |
| Receive | Gets WhatsApp from Pantry bot | "Hi Thabo, Lerato asked you to pick up: Full cream milk 2L (NOT 2%, the blue one), free range eggs ×18, Woolies sourdough bread." | Clear, no ambiguity | |
| Shopping | Shops, checks items off in WhatsApp | Interactive checklist. Tap to mark items found. | Efficient | |
| Substitution | Sourdough sold out — replies "they don't have it" | "No worries. Skip it or grab the Checkers ciabatta instead? I'll let Lerato know." | Supported, not stressed | |
| Checkout | Pays, snaps receipt photo | Processes photo, updates inventory. "Got it! R187.50 at Checkers Rosebank. Inventory updated." | Done, easy |
| Phase | Action | Surface | Pantry's role | Emotion |
|---|---|---|---|---|
| Trigger | School WhatsApp: "Cupcakes for cake sale next Friday" | WhatsApp (personal) | None yet | Mild stress |
| Recipe check | "Do I have enough for my chocolate cupcakes?" | WhatsApp (bot) | "You have flour, sugar, eggs, vanilla. Missing: cocoa powder, buttermilk, icing sugar." | Relieved, informed |
| Add to list | "Add the missing ones" | Adds 3 items with best-price routing. Total: R82.97. | Efficient | |
| Order | Orders via Sixty60 | Mobile | Pre-populates Sixty60 cart. Delivery by tomorrow. | Sorted |
| Baking day | "Tell Pantry I'm making the chocolate cupcakes" | Nest Hub | Depletes ingredients from inventory automatically | Accomplished |
| Phase | Action | Surface | Pantry's role | Emotion |
|---|---|---|---|---|
| Trigger | Kekeli uses the last roll | Physical | None yet | Unconcerned (she's 11) |
| Report | "Hey Google, tell Pantry the toilet paper is finished" | Nest Hub | Registers zero stock. Detects critical household item. | Helpful |
| Rush alert | Lerato gets urgent push notification | Mobile push | "Toilet paper is out. Rush order? Checkers Sixty60: 9-pack R89.99, delivery in 58 minutes." | Grateful for the heads-up |
| Order | Taps "Rush Order" | Mobile | Deep-links to Sixty60. Order placed in under 30 seconds. | Sorted |
| Delivery | Toilet paper arrives within the hour | Passive | Updates inventory. Adjusts consumption model upward. | Crisis averted |
| Phase | Action | Surface | Pantry's role | Emotion |
|---|---|---|---|---|
| Arrival | Lerato says "Gogo is visiting for two weeks" | Mobile / Voice | Activates visitor mode. Adjusts predictions upward. Suggests stocking traditional ingredients. | Welcoming |
| First morning | Gogo: "Ngidinga impuphu" (I need maize meal — Zulu) | Nest Hub | Responds in Zulu: "Ngizokufaka ohlwini, Gogo." (I'll add it to the list.) | Included, comfortable |
| Lerato reviews | Sees Gogo's requests on her app | Mobile | Shows "Gogo requested: Iwisa maize meal 5kg, dried sugar beans" tagged as visitor items | Thoughtful |
| Departure | Gogo leaves after two weeks | Mobile | Deactivates visitor mode. "Gogo's visit added R1,200 to grocery spend." | Back to routine |