Pantry

Your kitchen, sorted. A voice-first, multi-surface smart grocery management platform for South African households.

Product Spike March 2026 SA Market

Executive Summary

The core insight: South African households manage groceries across multiple stores, multiple people, and multiple surfaces. No single product ties it all together. Pantry does.

The Problem

SA families juggle Woolies for premium items, Checkers Sixty60 for quick top-ups, and Makro for bulk buys. Grocery lists live across WhatsApp groups, Notes apps, and fridge whiteboards. Items get forgotten, food gets wasted (R400-R600/month per household), and budgets spiral.

The Solution

Pantry is a voice-first household grocery brain that passively tracks what you have, predicts what you need, and coordinates shopping across every household member and surface: mobile app, Google Nest Hub, WhatsApp, and web dashboard.

Key Numbers

R8K-12K
Monthly grocery spend (target household)
R400-600
Monthly food waste per household
5
Household personas identified
4
Interaction surfaces

How It Works

🧾 Passive Capture

Receipt scanning, delivery history integration, and predictive consumption modelling mean the system learns what you buy without you logging anything.

🎙 Voice-First

"Hey Google, tell Pantry we're out of milk." Kids, the domestic worker, grandma: everyone can talk to it. No app install needed.

💬 WhatsApp Bot

Grace already WhatsApps what's running low. Pantry just makes that message structured, trackable, and actionable.

📱 Multi-Surface

Melisa gets the full dashboard. Thabo gets a WhatsApp shopping list. Kids shout at the Nest Hub. Everyone uses what works for them.

Target User

Melisa, 38, Sandton. Marketing manager, two kids, domestic worker three days a week. Monthly grocery budget R8,000-R12,000. Shops at Woolies, Checkers Sixty60, and Makro. Uses iPhone, Google Nest Hub, and WhatsApp for everything. She doesn't want another app to manage: she wants the house to just tell her what it needs.

What's in This Report

👥 Personas

5 detailed household personas with interaction models

🚩 User Journeys

Per-persona, per-surface journey maps

📡 Passive Capture

6 data capture methods scored for SA feasibility

🎙 Voice Design

Google Nest Hub voice interaction scripts

🎨 UI Mockups

Mobile, Nest Hub, WhatsApp, Dashboard

🏆 Competitor Analysis

30+ products across 5 categories

🇿🇦 SA Ecosystem

Retailer landscape, loyalty programmes, delivery

📊 Market Sizing

TAM/SAM/SOM with ZAR figures

💰 Business Model

Revenue strategy and pricing

Persona Profiles

These personas represent the real people in a South African household who interact with Pantry, each with different needs, tech comfort levels, and motivations. Built from qualitative insights about middle-to-upper-income SA families managing groceries across Woolies, Checkers, Pick n Pay, and local delivery services.

👩
Melisa, the Household Manager
Marketing manager, 38, Sandton
AttributeDetail
HouseholdPartner (Thabo), two kids (Lerato, 11 and Sipho, 7), domestic worker (Grace) three days a week
Monthly grocery budgetR8,000 - R12,000
Tech comfortHigh. Uses iPhone, Google Nest Hub in the kitchen, WhatsApp for everything
Primary storesWoolies (fresh, premium items), Checkers Sixty60 (quick top-ups), Makro (bulk monthly)

Goals

  • Never run out of essentials (milk, bread, eggs, kids' lunchbox items)
  • Reduce food waste: she throws away R400-R600 of expired food monthly and feels guilty about it
  • Control the budget without micromanaging every purchase
  • Delegate grocery tasks to Thabo and Grace without endless WhatsApp back-and-forth

Frustrations

  • "I only realise we're out of milk when someone complains at breakfast."
  • "Grace tells me we need things, but by the time I order, I've forgotten half the list."
  • "I have three different shopping lists going: Notes app, WhatsApp group, and the fridge whiteboard."
  • "Checkers Sixty60 is great for speed, but I overspend because I can't remember what we already have."
Key Quote: "I don't want another app to manage. I want the house to just tell me what it needs."

Interaction Model: Melisa is the approver and orchestrator. She reviews suggested lists, sets budget limits, and delegates shopping tasks. She wants dashboard-level visibility (web/mobile) and quick voice check-ins via the Nest Hub. She should never have to manually enter items.

🧒
Lerato (11) and Sipho (7), the Kids
Consumers and requesters
AttributeDetail
Tech accessLerato has a hand-me-down tablet (supervised). Sipho has none. Both use the Google Nest Hub.
Grocery roleConsumers and requesters. They eat the food and ask for more.

Goals

  • Get their favourite snacks without having to nag Mom repeatedly
  • Report what's finished in a way that actually reaches the shopping list
  • Sipho: just wants his yoghurt and doesn't care how it appears
  • Lerato: starting to help with meal planning for school lunches

Frustrations

  • "Mom said she'd buy more Frosties but she forgot again."
  • "I told Grace we need juice but nothing happened."
  • Lerato is old enough to be frustrated that her requests get lost in the household noise
Key Quote: "Can I just tell the kitchen we need more stuff?" - Sipho

Interaction Model: Kids interact exclusively through voice (Google Nest Hub) and possibly a simple visual display. Zero app, zero login, zero effort. Their requests go into a pending queue that Melisa can approve or dismiss.

👨
Thabo, the Partner/Co-parent
Software developer, 40, Rosebank office
AttributeDetail
Tech comfortVery high. Android user, but prefers not to install "yet another household app"
Grocery roleOccasional shopper, braai master, beer and snack buyer
Monthly personal grocery spendR1,500 - R2,500

Goals

  • Help out when asked without having to learn a complex system
  • Pick up items on the way home when Melisa sends a list
  • Keep his braai supplies stocked (charcoal, boerewors, Mrs Ball's chutney)

Frustrations

  • "Melisa sends me a WhatsApp list while I'm driving and I can't read it properly."
  • "I bought 2% milk instead of full cream and you'd think I committed a crime."
  • "I don't mind helping, but I don't want to install an app I'll use twice a month."
Key Quote: "Just send me the list on WhatsApp. I'll get it done."

Interaction Model: Thabo's primary interface is WhatsApp. He receives assigned shopping lists with specific brands, sizes, and store suggestions. He can check items off in-chat, snap a photo of the receipt, and he's done.

👩‍🍳
Grace, the Domestic Worker
Frontline inventory manager, 52, Mon/Wed/Fri
AttributeDetail
Tech comfortModerate. Uses WhatsApp and Facebook on a budget Android phone.
Data constraintsLimited mobile data (buys R50-R100 bundles). Wi-Fi access at Melisa's house.
LanguageFluent in Zulu and English. Prefers English for text, comfortable with either for voice.

Goals

  • Report what's running low quickly and reliably
  • Not get blamed when items run out
  • Keep things simple: she has enough to manage

Frustrations

  • "I WhatsApp Melisa when the Sunlight dish soap is almost finished, but she reads it hours later."
  • "Sometimes I tell her three things and she only buys one."
  • "I can't use too much data on apps."
Key Quote: "If I could just tell the machine and it goes on the list, that would save me so much trouble."

Interaction Model: Grace needs two channels: voice via Google Nest Hub (fastest while working in the kitchen) and WhatsApp for confirmation. The system must support Zulu voice input and low-data interactions.

👵
Gogo (Grandmother), the Extended Family Visitor
Temporary household member, 67, visits 2-4 weeks at a time
AttributeDetail
Tech comfortLow. Basic smartphone, uses WhatsApp (voice notes only).
LanguagePrimarily Zulu, conversational English
Grocery roleTemporary household member who changes consumption patterns significantly

Goals

  • Cook for the family using her own recipes (often requiring ingredients not usually stocked)
  • Not feel like a burden when requesting special items

Frustrations

  • "I need umfino (wild spinach) and Melisa doesn't know where to get it."
  • "These gadgets don't understand me when I speak."
Key Quote: "If Lerato can show me once how to tell the machine, I'll use it."

Interaction Model: Gogo is an edge-case user who reveals system flexibility. Her interaction is almost entirely through voice (Zulu preferred) or through Grace/Lerato as intermediaries.

Persona Comparison Matrix

Dimension Melisa Kids Thabo Grace Gogo
Primary surface Mobile app + Web dashboard Voice (Nest Hub) WhatsApp Voice + WhatsApp Voice (Zulu)
Role Approver, orchestrator Requester, consumer Delegated shopper Inventory scout Temporary member
Tech comfort High Medium (voice-native) Very high Moderate Low
Key need Control + visibility Zero-effort requests Frictionless task completion Reliable reporting Inclusion + flexibility

Design Implications from Personas

Voice-first is non-negotiable. Three of five personas interact primarily through voice. The system must work well even if the app is never opened.

WhatsApp is the universal fallback. Every adult in the household already uses it. Building on WhatsApp reduces adoption friction to near zero.

Multi-language support is essential. Zulu voice recognition is not optional. It's required for Grace and Gogo, who are critical household contributors.

No persona should need to install an app. Only Melisa needs the full app experience. Everyone else should work through existing channels.

Data usage matters. Grace's data constraints mean WhatsApp interactions should be text-light, image-free, and optimised for low bandwidth.

The household is the user. Pantry must model a household with shifting membership, different permission levels, and varied interaction preferences.

User Journey Maps

Each journey maps a real scenario from a persona's perspective, showing touchpoints across surfaces, emotional states, and where Pantry adds value compared to current workarounds.

Journey 1: Melisa's Weekly Top-Up via Checkers Sixty60

Persona: Melisa | Frequency: 2-3x per week | Surfaces: Mobile app, Web dashboard, Nest Hub

PhaseActionSurfacePantry's RoleEmotion
Morning checkMelisa asks "Hey Google, what do we need?" while making coffeeNest Hub (voice)Reads back prioritised list: "You're probably out of milk and eggs. Grace reported you're low on Sunlight. Sipho asked for yoghurt yesterday."Informed, in control
ReviewOpens Pantry app on phone during commute to review full listMobile appShows categorised list with confidence levels, estimated costs, and suggested store (Checkers Sixty60 for speed, Woolies for fresh)Confident
EditRemoves Sipho's request for sweets ("nice try"), adds avocadosMobile appUpdates list, recalculates estimated total (R380)Amused, efficient
OrderTaps "Send to Checkers Sixty60" buttonMobile appDeep-links to Sixty60 with pre-populated cart (or copies list to clipboard if API isn't available)Satisfied
DeliveryReceives Sixty60 delivery at homeNone (passive)Auto-detects order confirmation email, updates inventory: milk, eggs, yoghurt now "in stock"Effortless
Feedback loopGrace unpacks groceries, notices avocados are not ripe enoughNest Hub (voice)Grace says "The avocados need a few days." System notes this for future produce timing.Heard
Key Insight: Melisa's journey spans three surfaces in one morning, each suited to the context: voice while hands are busy, mobile for detailed review, passive for delivery tracking.

Journey 2: Grace Reports What's Running Low

Persona: Grace | Frequency: Each workday (Mon, Wed, Fri) | Surfaces: Nest Hub (voice), WhatsApp

PhaseActionSurfacePantry's RoleEmotion
Morning routineGrace arrives, starts cleaning. Notices the dish soap is nearly empty.Physical (observation)None yetResponsible
Voice report"Hey Google, tell Pantry: Sunlight almost finished, and we need rice"Nest Hub (voice)Confirms: "Got it, Grace. I've added Sunlight dish soap and rice to the list."Efficient, acknowledged
Midday checkWhile cooking lunch, notices the cooking oil is lowNest Hub (voice)Adds to list. Now shows 3 items from Grace today.Thorough
WhatsApp confirmationReceives WhatsApp message from Pantry botWhatsApp"Hi Grace, today you reported: Sunlight dish soap, White Star rice 2kg, Sunfoil cooking oil 750ml. These are on Melisa's list."Reassured, documented
End of dayGrace leaves for the day knowing her reports are capturedNoneMelisa sees Grace's reports on her dashboard with timestampsProfessional, valued
Key Insight: Grace's journey replaces unreliable WhatsApp messages to Melisa with a structured system that still feels like talking. The WhatsApp confirmation gives Grace a record that she reported it.

Journey 3: Sipho Wants More Yoghurt

Persona: Sipho (7) | Frequency: Ad hoc | Surface: Nest Hub (voice only)

PhaseActionSurfacePantry's RoleEmotion
DiscoverySipho opens the fridge, sees the last yoghurtPhysicalNoneWorried
Request"Hey Google, tell Pantry we need more yoghurt!"Nest Hub (voice)"Okay Sipho, I'll let Mom know you want more yoghurt. I think you mean the Woolies strawberry one?"Empowered
Confirmation"Yes!"Nest Hub (voice)"Done! It's on the list. Mom will decide when to order it."Happy, heard
Behind the scenesMelisa gets a notificationMobile appShows: "Sipho requested: Woolies Low Fat Strawberry Yoghurt 6-pack (R42.99)" with approve/dismiss buttons(Melisa: amused, in control)
Key Insight: Sipho's interaction is under 15 seconds. No screen, no typing, no app. The system resolves "yoghurt" to a specific product using purchase history.

Journey 4: Thabo Picks Up Groceries on the Way Home

Persona: Thabo | Frequency: 2-4x per month | Surface: WhatsApp

PhaseActionSurfacePantry's RoleEmotion
TriggerMelisa assigns shopping task: "Thabo, can you grab these on the way home?"Mobile app (Melisa)Generates a curated list for Thabo, optimised for his usual store (Checkers Rosebank)(Melisa: delegating)
Receive listThabo gets WhatsApp message from Pantry botWhatsApp"Hi Thabo, Melisa asked you to pick up: Full cream milk 2L (NOT 2%, the blue one), Free range eggs x18, Woolies sourdough bread. Closest store: Checkers, Rosebank Mall"Clear, no ambiguity
ShoppingThabo shops, checks items off in WhatsAppWhatsAppInteractive checklist. Taps/replies to mark items as found.Efficient
SubstitutionSourdough is sold out. Thabo replies "they don't have it"WhatsApp"No worries. Skip it or grab the Checkers ciabatta instead? I'll let Melisa know."Supported, not stressed
CheckoutThabo pays, snaps a photo of the receiptWhatsApp (photo)Processes receipt photo, updates inventory. "Got it! R187.50 at Checkers Rosebank. Inventory updated."Done, easy
Key Insight: Thabo never opens an app. The entire experience happens in WhatsApp. Brand-specific instructions ("the blue one") prevent the wrong-item problem.

Journey 5: Monthly Makro Bulk Shop

Persona: Melisa + Thabo | Frequency: Monthly | Surfaces: Web dashboard, Mobile app

PhaseActionSurfacePantry's RoleEmotion
PlanningMelisa reviews the monthly shopping plan on her laptopWeb dashboardAuto-generated list based on: consumption history, current stock predictions, and items flagged low during the month. Shows estimated total: R4,200.Prepared
Budget reviewCompares to budget, removes non-essentials, adds Gogo's itemsWeb dashboardBudget tracker updates in real time. Flags items over historical price. Visitor mode activated for Gogo.In control
ShoppingMelisa and Thabo go to Makro togetherMobile appStore-optimised list sorted by Makro's layout. Checklist mode for quick item marking.Efficient
CheckoutMakro mCard scanned at tillPassiveAuto-imports purchase data. "Monthly shop complete: R4,087. Under budget by R113."Accomplished
Key Insight: The monthly shop is where Pantry delivers the most strategic value: predictive list generation, budget tracking, and visitor anticipation.

Journey 6: Gogo Arrives for a Two-Week Stay

Persona: Gogo + Melisa | Frequency: Several times per year | Surfaces: Voice (Nest Hub), Mobile (Melisa)

PhaseActionSurfacePantry's RoleEmotion
ArrivalMelisa tells Pantry: "Gogo is visiting for two weeks"Mobile app / VoiceActivates visitor mode. Adjusts consumption predictions upward. Suggests stocking traditional ingredients.Welcoming
First morningGogo wants phutu for breakfast, needs maize mealNest Hub (voice, Zulu)Gogo: "Ngidinga impuphu" (I need maize meal). System responds in Zulu: "Ngizokufaka ohlwini, Gogo."Included, comfortable
Melisa reviewsSees Gogo's requests on her appMobile appShows "Gogo requested: Iwisa maize meal 5kg, dried sugar beans" tagged as visitor items.Thoughtful
DepartureGogo leaves after two weeksMobile appDeactivates visitor mode. Reverts consumption predictions. "Gogo's visit added R1,200 to grocery spend."Back to routine
Key Insight: Gogo's journey tests the system's flexibility and cultural sensitivity. Zulu voice support is not a nice-to-have, it's essential for inclusion.

Cross-Journey Patterns

PatternObservationDesign Implication
Multi-source list assemblyThe shopping list is never built by one person. It's assembled from Grace's reports, kids' requests, predictive signals, and Melisa's additions.The list is a living document with attributed sources and confidence levels.
Approval gatesMelisa always reviews before anything is ordered. She's the household "admin".Permission model: anyone can add, only Melisa (and optionally Thabo) can approve/order.
Context-appropriate surfacesVoice when hands are busy, WhatsApp when mobile, web for planning.Each surface optimised for its context. Never force a user to switch surfaces.
Confirmation loopsEvery input gets a confirmation: voice gets audio, WhatsApp gets text, app shows real-time updates.Build trust through reliable feedback. "The system heard me" is baseline.
Store awarenessDifferent items come from different stores. Woolies for fresh, Makro for bulk, Checkers for speed.Store-aware list generation and routing. Don't suggest buying 10kg rice on Sixty60.

Passive Data Capture Strategy

The core problem Pantry solves is knowing what's in the household without anyone having to manually log it. This section maps every realistic data capture method, scores it for feasibility in the SA market, and recommends a phased rollout.

The Data Entry Problem: Every smart pantry product fails at the same point: data entry fatigue. Users enthusiastically scan barcodes for two weeks, then stop. The system goes stale and trust collapses. Pantry must solve this with a layered approach where no single method carries the full burden.

1. Receipt and Invoice Parsing (Items In)

AspectDetail
How it worksPhoto of till slip, email receipt forwarding, or direct API integration with retailer loyalty programmes
SA feasibilityHigh. Woolies, Checkers, and Pick n Pay all issue detailed digital receipts via their apps and loyalty programmes
Data qualityExcellent: SKU-level detail, exact quantities, prices, store, date, and time
User effortLow to zero. Email forwarding rules or API integration require one-time setup.
SA-Specific Implementation
  • Checkers Sixty60 / Woolies Dash: Order history is available via their apps. API integration gives exact item data for delivery orders.
  • Email receipt parsing: Woolies and Checkers both email receipts to loyalty members. A forwarding rule handles this passively.
  • Till slip OCR: Fallback for in-store purchases. SA till slips are standardised enough for reliable OCR.
  • Makro card: Makro's mCard tracks purchases. Bulk items can be auto-imported.

Confidence: 9/10 This is the primary "items in" signal.

2. Voice Reporting via Smart Speaker (Items Running Low)

AspectDetail
How it worksHousehold members tell the Google Nest Hub when something is running low or finished
SA feasibilityHigh. Google Nest Hub is available in SA. English voice recognition is solid. Zulu support is emerging.
Data qualityGood for "items out" signals. Fuzzy: "the crunchy cereal" needs product resolution.
User effortMinimal. Speaking is faster than typing.
Voice Capture Scenarios
  • Direct report: "Hey Google, tell Pantry we're out of milk"
  • Fuzzy request: "Hey Google, tell Pantry we need more of Sipho's yoghurt" (resolves to Woolies low-fat strawberry yoghurt 6-pack based on history)
  • Grace's report: "Hey Google, tell Pantry: Sunlight almost finished, need rice, and eggs" (batch input)

Confidence: 8/10 Voice is the most natural "items out" signal.

3. Predictive Consumption Modelling (Estimated Depletion)

AspectDetail
How it worksSystem learns consumption rates from purchase history. If 2L milk is bought every 4 days, it predicts when milk will run low.
SA feasibilityHigh. Requires only purchase history data, which comes from receipt parsing.
User effortZero. Fully passive once purchase data flows in.
How the Model Works
  1. Baseline period: 4-6 weeks of purchase data to establish consumption cadence per item
  2. Categorisation: Items classified as staples (regular cadence), occasionals (irregular), or one-offs
  3. Depletion estimate: "You bought 2L full cream milk 3 days ago. Based on your pattern, you'll need more in about 2 days."
  4. Correction loop: Voice reports calibrate the model. If milk ran out a day early, the consumption rate adjusts.

Confidence: 7/10 The "smart" layer that makes Pantry feel proactive.

4. Barcode and Camera Scanning (Optional, Active)

Confidence: 5/10 Optional, not core. Nice for power users, but the system must work well without it. Never gate core functionality behind barcode scanning.

When Scanning Makes Sense
  • Initial pantry setup: One-time scan of everything in the pantry to bootstrap the system
  • Unpacking after a big shop: Scanning items while unpacking the monthly Makro haul
  • Discard scanning: Scan the barcode on an empty container before throwing it away

5. Smart Device Integration (Future)

Confidence: 2/10 Park this for v3+. SA's infrastructure and price points don't support this yet. Focus on software-first solutions.

6. WhatsApp Micro-Reports (Items Out, Low-Friction)

AspectDetail
SA feasibilityVery high. WhatsApp is universal in SA. Zero app install needed.
User effortMinimal. Same action Grace is already doing, just to a different contact.
Grace's Workflow: Current vs. Pantry
CurrentWith Pantry
WhatsApps Melisa: "The Sunlight is almost finished and we need rice"WhatsApps Pantry bot: same message. Bot parses it, adds to list, confirms back.
Melisa reads it hours later, forgets halfItems appear on Melisa's dashboard immediately, flagged as "reported by Grace"
No record, no trackingGrace gets confirmation: "Added: Sunlight dish soap, White Star rice 2kg"

Confidence: 9/10 This is the killer feature for the SA market.


Recommended Layered Capture Strategy

PriorityMethodSignal TypePhaseUser Effort
1Receipt/invoice parsingItems InMVPOne-time setup
2WhatsApp micro-reportsItems Out / Running LowMVPNear zero
3Voice reporting (Nest Hub)Items Out / Running LowMVPMinimal
4Predictive consumption modelEstimated Depletionv1.1Zero (passive)
5Barcode scanningItems In / Items Outv1.1Active (optional)
6Smart device integrationReal-time inventoryv3+Zero (hardware)

Data Confidence Framework

High confidence (green): Receipt-confirmed purchase + within predicted consumption window. "You bought 2L milk 2 days ago. Likely still have some."

Medium confidence (amber): Purchase confirmed but nearing predicted depletion. "You might be running low on eggs."

Low confidence (red): Past predicted depletion date with no repurchase signal. "You're probably out of bread."

Unknown (grey): No data. Item hasn't been tracked yet or was purchased at an untracked store.

Voice Interaction Scripts

These scripts define how Pantry sounds and behaves on the Google Nest Hub. Voice is the primary interface for three of five personas (Kids, Grace, Gogo), making these interactions critical to product success.

Voice Design Principles

Warm, not robotic. Pantry sounds like a helpful household member, not a call centre IVR.

Brief by default. Responses are short. Detail is available on the Nest Hub screen or by asking follow-up questions.

Forgiving. Fuzzy language ("the crunchy cereal", "Sipho's yoghurt") is resolved using purchase history and household context.

Speaker-aware. Recognises household members by voice (Google Voice Match) and adjusts behaviour: kids' requests go to approval queue.

Multilingual. English and Zulu supported. Responds in the language spoken to it.

Non-blocking. Never asks more than one clarifying question. If unsure, make the best guess and confirm.

Script 1: Adding Items to the List

Scenario A: Simple single item (Grace)

Grace: "Hey Google, tell Pantry we need more rice."
Pantry: "Got it, Grace. I've added White Star rice, 2 kilo bag, to the list. Is that right?"
Grace: "Yes."
Pantry: "Done. It's on Melisa's list."

System resolves "rice" to the household's usual brand and size from purchase history.

Scenario B: Multiple items (Grace, batch report)

Grace: "Hey Google, tell Pantry: we need Sunlight, eggs, and the blue milk."
Pantry: "Adding three items: Sunlight dish soap, eggs eighteen pack, and full cream milk two litres. All on the list."

Batch input is critical for Grace's workflow. "Blue milk" resolved to full cream from purchase history.

Scenario C: Fuzzy request (Sipho)

Sipho: "Hey Google, tell Pantry I want more of the crunchy cereal!"
Pantry: "Hey Sipho! I think you mean Kellogg's Crunchy Nut. I'll ask Mom to add it to the list."

Kids' requests are routed to Melisa's approval queue, not added directly.

Scenario D: Zulu input (Gogo)

Gogo: "Hey Google, tshela iPantry ngidinga impuphu ne-sugar beans."
Pantry: "Kulungile, Gogo. Ngifake impuphu ne-sugar beans ohlwini."

Responds in the language spoken. Zulu product names mapped to store product catalogue.

Script 2: Checking What's Needed

Morning check (Melisa)

Melisa: "Hey Google, ask Pantry what we need."
Pantry: "You've got 7 items on the list. Top priority: milk and eggs are probably out. Grace reported you're low on dish soap and rice. Sipho wants yoghurt. Want me to read the full list?"
Melisa: "No, that's fine. Send it to my phone."
Pantry: "Sent. You can review it in the app."

Quick status check (anyone)

Thabo: "Hey Google, ask Pantry: do we have milk?"
Pantry: "Probably not. You bought milk 4 days ago and usually run out after 3. It's already on the list."

Predictive status based on consumption modelling. Honest about uncertainty.

Budget check (Melisa)

Melisa: "Hey Google, ask Pantry how much we've spent this month."
Pantry: "So far this month, you've spent R6,340 on groceries. That's about R1,600 under your R8,000 budget with 10 days left."

Financial data only shared with Melisa and Thabo (voice-matched).

Script 3: Removing and Modifying Items

Melisa: "Hey Google, tell Pantry to remove the sweets from the list."
Pantry: "Done. I've removed the jelly sweets that Sipho requested."

Melisa: "Hey Google, tell Pantry to switch to Tastic rice from now on."
Pantry: "Noted. I'll default to Tastic rice for future orders. Want me to update the current list too?"
Melisa: "Yes."
Pantry: "Done. Tastic rice 2 kilo bag is now on the list."

Brand preferences are persistent. Once set, the system remembers for future voice-to-product resolution.

Script 4: Delegating Shopping Tasks

Melisa: "Hey Google, tell Pantry to send the milk, eggs, and bread to Thabo."
Pantry: "Sending those three items to Thabo on WhatsApp now. He'll get them with store suggestions and brand details."

Melisa: "Hey Google, tell Pantry to order the top-up list on Sixty60."
Pantry: "I've prepared a Checkers Sixty60 order with 5 items, estimated total R340. Check the app to confirm and place the order."

Voice can initiate an order but cannot complete it. Final checkout always requires visual confirmation.

Script 5: Proactive Notifications (System-Initiated)

Triggered by the system, not the user. They appear as gentle nudges on the Nest Hub screen.

Pantry (screen): "Heads up: you're probably running low on milk and eggs. Add to list?"
Melisa: "Hey Google, yes, add them."
Pantry: "Added milk and eggs to the list."

Proactive alerts are visual-first (screen card), not voice-first. Nobody wants their kitchen speaker randomly announcing grocery needs.

Pantry (to Melisa): "Gogo is coming next week. Based on her last visit, you might want to stock up on maize meal, cooking oil, and dried beans. Want me to add them?"

Script 6: Error Handling and Edge Cases

Grace: "Hey Google, tell Pantry we need... [unclear]"
Pantry: "Sorry Grace, I didn't catch that. Could you say it again?"

One retry, then offer alternatives: "You can also WhatsApp me the items if voice isn't working."

Melisa: "Hey Google, tell Pantry to add milk."
Pantry: "Milk is already on the list, added by Grace this morning. Want me to increase the quantity?"

Lerato: "Hey Google, tell Pantry to order chips on Sixty60."
Pantry: "I can't place orders, Lerato, but I've added chips to the request list. Mom will see it and decide."

Kids can request, never order. The system recognises the voice and applies appropriate permissions.

Voice Personality Guidelines

TraitDoDon't
ToneWarm, helpful, like a friendly family memberRobotic, overly formal, condescending
Brevity"Milk added." / "Got it, Grace.""I have successfully added full cream milk, 2 litres, to your household shopping list."
Certainty"You're probably low on eggs" (honest)"You are out of eggs" (can't know for sure)
NamesUse first names when voice-matched: "Got it, Grace"Generic: "Item has been added to the list"
KidsFriendly, encouraging: "Great idea, Sipho!"Same formal tone as adults
LanguageMatch the speaker's language (English or Zulu)Always respond in English regardless of input

Multi-Surface UX Framework

Pantry lives across four distinct surfaces, each optimised for different contexts, personas, and tasks. This framework defines what each surface does, what it doesn't do, and how they work together as a coherent system.

The Four Surfaces

SurfacePrimary PersonasContextCore Capability
Google Nest HubGrace, Kids, Gogo, MelisaKitchen, hands busy, quick interactionsInput (add items, report stock), quick status checks
WhatsApp BotGrace, Thabo, MelisaOn the go, at the store, asynchronousTask delegation, shopping lists, confirmations, receipt capture
Mobile App (PWA)Melisa, ThaboCommute, couch, quick review momentsList management, approvals, ordering, notifications
Web DashboardMelisaEvening planning, laptopAnalytics, budget tracking, monthly planning, settings

Permission Model Across Surfaces

ActionMelisaThaboGraceKidsGogo
Add items to listDirectDirectDirectTo approval queueDirect
Remove itemsYesYes (own)NoNoNo
Approve requestsYesYesNoNoNo
Place ordersYesYes (with limit)NoNoNo
View budgetYesYesNoNoNo
Assign tasksYesNoNoNoNo
Change settingsYesLimitedNoNoNo

Progressive Disclosure by Surface

LevelNest HubWhatsAppMobileWeb
Glanceable"5 items needed""3 items to pick up"Badge count on iconKPI cards
SummaryVoice readback of top itemsText list with brandsCategorised list viewDashboard overview
DetailN/A (go to mobile)N/A (go to mobile)Item cards with source, confidence, priceFull analytics, trends
Deep analysisN/AN/AN/AHistorical trends, budget modelling

Notification Routing

Not every notification goes to every surface. Route by relevance and context:

EventNest HubWhatsAppMobile PushWeb
Item running lowScreen card (silent)NoYes (Melisa)Dashboard badge
Item reported "out"Voice confirmationConfirmation to reporterYes (Melisa)Activity feed
Shopping task assignedNoYes (to assignee)Yes (to assignee)No
Budget threshold (80%)NoNoYes (Melisa)Alert banner
Deal on frequent itemScreen card (silent)NoOptionalSpecials section

Offline and Degraded Mode

SA's connectivity can be unreliable (load shedding, network issues). Each surface must handle degradation:

SurfaceWhen OfflineWhen Back Online
Nest HubQueues voice commands locally: "Saved. I'll sync when we're back online."Syncs queued items, resolves product names
WhatsAppMessages queue in WhatsApp's own delivery systemBot processes messages in order received
Mobile (PWA)Full list management offline (cached data). Shows "last synced" timestamp.Two-way sync with conflict resolution
WebRead-only cached view. Shows "offline" banner.Full refresh on reconnect

Cross-Surface Design Principles

Start Anywhere, Finish Anywhere. Grace reports "need rice" on the Nest Hub. Melisa reviews it on her phone. She assigns it to Thabo on WhatsApp. He snaps the receipt. No surface is a dead end.

Consistent Data, Adapted Presentation. The same shopping list appears on every surface, but formatted for the context: voice summary, checklist format, interactive cards, or full analytical table.

UI Mockups

Interactive mockups across all four Pantry surfaces: mobile app, Google Nest Hub, WhatsApp bot, and web dashboard.

Mobile App Mockups: Four core screens for the Pantry mobile app, designed for one-handed use while cooking, shopping, or managing the household. Dark mode default with warm, kitchen-friendly colours. All prices in ZAR, all stores South African. View full mobile mockups

The mobile app includes four key screens: Dashboard (quick-glance overview with budget tracker, alerts, and list preview), Pantry Inventory (full inventory with confidence-based stock indicators), Shopping List (grouped by store with price comparison), and Receipt Scan (camera-based OCR with SA retailer matching).

Dashboard

Budget status bar (R3,420 / R5,000), needs-attention alerts (eggs out, milk running low), this week's list preview (12 items, est. R684), and quick actions (voice add, scan, full list).

Pantry Inventory

Category tabs (All, Fridge, Pantry, Cleaning, Frozen). Colour-coded stock indicators: green (well stocked), amber (running low), red (out of stock). Search and filter, pull-to-refresh.

Shopping List

Grouped by store (Woolworths 5 items R198.95, Checkers 4 items R245.96, PnP 3 items R152.97). Price comparison chips, swipe-to-check-off, estimated total with budget remaining.

Receipt Scan

Camera viewfinder with alignment guide. Auto-detects retailer (Woolworths, Checkers, PnP). Parsed items with confidence scores, edit-before-confirm flow, running total calculation.

Google Nest Hub Mockups: Three key screens for the Nest Hub (landscape, 1024x600). Designed for arm's-length reading with large type and high contrast. View full Nest Hub mockups

Ambient Display

Always-on kitchen companion showing items running low (eggs out, milk ~1 day left), today's meal plan, and household status metrics (78% stocked, R3.4k spent, 12 items on list).

Voice Response Cards

Confirmation cards when adding items ("Added Full Cream Milk 2L, Woolworths R32.99") and summary cards for list queries ("13 items, R717 est., 3 stores"). Auto-dismiss after 10 seconds.

Family Scoreboard

Gamified household tracking with leaderboard (Thandi 2,450pts, Sipho 1,820pts), achievements (Budget Boss, Zero Waste), and household stats (waste score 92, R240 saved).

WhatsApp Bot Mockups: Four conversation flows showing natural language interaction, inline actions, and smart formatting. View full WhatsApp mockups

Quick Add Flow

"Running low on milk" triggers smart matching (Full Cream Milk 2L, R32.99 at Woolworths). Quick reply buttons: Looks good, Change to low-fat, Buy at Checkers, Remove.

Weekly Summary

Sunday evening overview: spending this week (R1,180), pantry status (78%, 4 running low), next week's draft list (13 items, R684 est.), smart suggestions (switch chicken to Checkers, save R12).

List Approval

Store-grouped list (Woolworths 5 items R198.95, Checkers 4 items R245.96, PnP 3 items R152.97). Natural language edits: "Remove the washing powder and add dishwashing liquid". New total recalculated instantly.

Exception Alerts

Proactive notifications: usage alerts (Jungle Oats finished 2 weeks early), price alerts (Woolworths chicken up 15%, Checkers alternative saves R12), budget warnings (80% of monthly budget hit).

Web Dashboard Mockups: Four full-width desktop screens showing Pantry's command centre for household analytics, historical trends, and family management. Built for focused evening sessions on a laptop. View full dashboard mockups

Analytics Dashboard

Spend by category (fresh produce R2,340, cleaning R890, pantry staples R1,560), store comparison bar chart (Woolworths R3,200, Checkers R2,100, PnP R1,480), waste tracking score (92/100), and monthly budget progress (R6,780 of R8,500).

Historical Trends

Month-over-month spending line charts, category breakdown over 6 months, seasonal patterns with annotations (December spike R12,400), price tracking per item, and year-over-year savings calculation (R4,200 saved).

Family Management

Member profiles with role-based permissions (Melisa: Admin, Thabo: Editor, Gogo: Voice Only), activity feed, device management (3 active: iPhone, Nest Hub, WhatsApp), and notification preferences per member.

Inventory Overview

Full pantry grid with stock levels, expiry tracking (3 items expiring this week), category filters, search, bulk actions, and smart reorder suggestions based on consumption velocity.

Design System

Pantry's visual language is warm, practical, and kitchen-inspired. It avoids the cold, corporate feel of typical SaaS tools and instead feels like a trusted household companion. The palette draws from natural, earthy tones: terracotta, warm sand, sage green, and deep charcoal.

Colour Palette

Two modes: dark (default) and light. Dark mode uses deep, warm backgrounds that feel cosy on kitchen countertops and bedside tables. Light mode flips to clean, airy surfaces for daytime use.

Charcoal
#1a1614
Cocoa
#2a2320
Terracotta
#c4653a
Warm Sand
#d4915a
Sage
#7a9e7e
Honey
#e8c468
Paprika
#c45c5c
Cream
#f0e6d3

Typography

Inter is the primary typeface: clean, highly legible, and excellent at small sizes on mobile screens.

Your Kitchen, Sorted
Weekly Grocery List
Budget Overview
Running Low Items
Your milk is running low. We've added it to this week's list at R32.99 from Checkers.
Last purchased 4 days ago

Design Principles

01. Kitchen-counter ready. Every screen should feel at home on a kitchen counter, bedside table, or in a busy parent's hand. Large touch targets, high contrast, glanceable information.

02. Smart defaults, easy overrides. The system should predict what you need, but never lock you in. One tap to approve, two taps to change.

03. Voice-first, screen-supported. Every action should be possible by voice alone. The screen adds context and confidence, not complexity.

04. Budget-aware always. ZAR pricing is never an afterthought. Running totals, store comparisons, and budget alerts are embedded in every flow.

05. Familiar, not foreign. Reference South African brands, stores, and shopping habits. Woolies, Checkers, Pick n Pay. Not Walmart, not Tesco.

Component Patterns

Status Badges

In Stock Running Low Out of Stock On List Paused

Device Frames

Mockups use consistent device frames: 375 x 812px for mobile (iPhone viewport), 1024 x 600px for Google Nest Hub, and standard chat-width for WhatsApp.

Competitor Landscape Analysis

Pantry enters a fragmented market with no single product combining inventory tracking, voice-first interaction, and SA grocery integration. Below is a comprehensive mapping of the competitive landscape across five categories.

1. SA Grocery Delivery Apps

The SA on-demand grocery delivery market is dominated by Checkers Sixty60, which holds over 80% market share among higher-income households.

PlatformStrengthsGapsDelivery Fee
Checkers Sixty60 Market leader (80%+ share). 694 locations. 60-min delivery. 47.7% sales growth (FY2025). No inventory tracking. No voice integration. No cross-store shopping. R36 (free on R500+)
Woolies Dash Premium product range. 130 sites + 1 dark store. 40% YoY growth. No inventory management. No voice ordering. Higher delivery fee. R45
Pick n Pay asap! 600 locations. 48.7% online growth (FY2025). Re-platformed app with AI features. No pantry tracking. No voice assistant. App still maturing. R35
OneCart Multi-store shopping (Woolworths, Dis-Chem, Pick n Pay, Makro) with one delivery fee per mall. No inventory features. Limited brand awareness. Varies
SPAR2U 525 stores. 380% volume growth YoY. Late entrant. Less established UX. No smart features. Varies

2. Grocery List and Inventory Apps

These apps solve list management and sharing but none offer deep SA store integration, voice-first design, or passive inventory tracking.

AppStrengthsGapsSA-Specific?
AnyListTop all-rounder. Real-time syncing. Recipe organisation.No SA store integration. No passive tracking.No
OurGroceriesSimple shared lists. Google Assistant integration.No inventory tracking. No SA store data.No
Bring!Visual, icon-based (great for non-tech-savvy users).No inventory management. No SA retailers.No
ListonicSmart suggestions from past habits. Voice input.No pantry tracking. No SA-specific data.No

3. Smart Kitchen / Connected Appliances

ProductStrengthsSA Relevance
Samsung Family HubAI Vision Inside, expiry tracking, shopping list. R40,000+.Available but very niche. High price limits adoption.
LG InstaView ThinQAI camera for food recognition. Knock-to-see-inside.Limited SA availability. Premium pricing.

4. Voice Assistants + Grocery

PlatformStrengthsSA Relevance
Google Shopping ListVoice-add via Nest Hub. Lists in Google Keep. Free.Google Nest Hub is available in SA. This is the voice platform Pantry should build on.
Alexa Shopping ListVoice-add via Echo. Alexa+ adds agentic grocery shopping.Low. Echo has limited SA penetration. No local grocery partners.

Competitive White Space: Where Pantry Wins

No existing product combines these four capabilities:

  1. Passive inventory tracking that knows what you have at home
  2. Voice-first interaction via Google Nest Hub for hands-free kitchen use
  3. SA grocery ecosystem integration with Checkers, Woolworths, Pick n Pay
  4. Intelligent replenishment that learns household patterns

Pantry's moat is the integration layer: connecting what you have, what you need, and where to buy it, all optimised for the South African market.

SA Grocery Ecosystem Deep Dive

South Africa's grocery retail sector is highly concentrated among four major chains, each with distinct digital capabilities, loyalty programmes, and delivery infrastructure. Pantry must integrate deeply with this ecosystem to deliver value.

1. Major Retailer Digital Capabilities

Checkers / Shoprite Group (Sixty60)

DimensionDetails
DeliveryCheckers Sixty60: 60-minute delivery from 694 locations. 80%+ of addressable online market. 47.7% sales growth FY2025.
LoyaltyXtra Savings: Free tier with personalised deals. Plus: R99/month for unlimited free deliveries, double deals, 10% off one shop per month.
Delivery FeeR36 (from July 2025). Free on R500+ orders. Free with Xtra Savings Plus.
IntegrationNo public API. Product catalogue accessible via web scraping. Deep linking into app for checkout possible.

Woolworths (Woolies Dash)

DimensionDetails
DeliveryWoolies Dash: on-demand from 130 sites + 1 dark store. 90%+ of customer base. 40% YoY growth.
LoyaltyWRewards: Vouchers, promotional pricing, credit card linking. Strong brand loyalty among LSM 8-10.
Delivery FeeR45 (from November 2025). Premium positioning matches brand.
IntegrationNo public API. WRewards card linking could surface personalised pricing. Deep linking into Woolworths app.

Pick n Pay (asap!)

DimensionDetails
DeliveryPnP asap!: on-demand from 600 locations (expanded from 47 in mid-2025). Also on Mr D app. 48.7% online turnover growth FY2025.
LoyaltySmart Shopper: Points-based, digital signup, in-app tracking. Historically largest SA grocery loyalty programme.
Delivery FeeR35. Pre-authorisation model: charged only for delivered items.
IntegrationRe-platformed app may be more integration-friendly. Mr D platform (Naspers) has API infrastructure.

2. Price Comparison

FactorCheckersWoolworthsPick n Pay
PositioningValue-to-mid. Aggressive promotions.Premium. Higher prices, quality perception.Mid-range. Competitive pricing.
Delivery FeeR36 (or free)R45R35
SubscriptionXtra Savings Plus: R99/moNoneNone
Online MarkupGenerally matches in-storeSlight premium on some itemsGenerally matches in-store
Pantry opportunity: Build a price comparison engine that shows users the best store for their specific basket, factoring in delivery fees, loyalty discounts, and current promotions.

3. Loyalty Programme Landscape

ProgrammeMembersKey BenefitsPantry Value
Xtra Savings30M+ cardsPersonalised deals, Plus tier R99/moSurface personalised deals, alert to Plus savings based on order frequency
WRewards5M+ membersVouchers, promotional pricingShow WRewards pricing, remind users to redeem vouchers before expiry
Smart Shopper10M+ membersPoints on purchases, digital trackingTrack points earned, suggest spend thresholds for bonus points

4. Integration Strategy

Phase 1 (MVP)

Web scrape product catalogues for matching and price comparison. Deep link to retailer apps for "Order Now" handoff. Allow users to link loyalty card numbers.

Phase 2 (Growth)

Pursue formal API partnerships (likely starting with PnP via Mr D/Naspers). Enable in-app ordering. Integrate real-time stock availability.

Phase 3 (Scale)

Become a super-aggregator: one basket, best price across stores, split orders. Negotiate affiliate/commission arrangements.

Market Sizing Analysis

This analysis sizes the opportunity for Pantry in the South African market, using a top-down TAM/SAM/SOM framework with locally relevant data points.

1. TAM / SAM / SOM

R1.1T
TAM: All SA grocery spending
R80B
SAM: Online grocery (LSM 7-10, urban)
R240-480M
SOM: Subscription revenue (Year 3)
2.8M
Target households (LSM 8-10 urban)
Revenue model context: Pantry's SOM is not a share of grocery spend but rather a subscription and commission layer on top of existing spending. The R100/month subscription covers smart inventory tracking, voice ordering, price comparison, and automated replenishment.

2. Target Demographics: LSM 8-10 Urban

CharacteristicLSM 8LSM 9LSM 10
Monthly IncomeR13,200 - R19,000R19,000 - R25,000R25,000+
Smartphone85%+95%+98%+
Online ShoppingGrowing adoptionRegularFrequent
Est. Households~1.5M~800K~500K

3. Online Grocery Adoption

MetricValue
E-commerce penetration49% (2025), forecast 60% by 2028
Online grocery marketR80B projected by 2026
Growth rate25-35% CAGR (5-7x faster than overall grocery)
Checkers Sixty60 growth47.7% sales growth FY2025
Key driversConvenience, load shedding, safety concerns, COVID habit persistence
Key barriersDelivery fees, can't select own fresh produce, data costs, payment trust

4. Growth Projections

MetricYear 1Year 2Year 3Year 5
Registered Households25,000120,000400,0001,000,000
Paid Subscribers2,500 (10%)18,000 (15%)80,000 (20%)250,000 (25%)
ARPU (blended)R70/moR75/moR80/moR85/mo
Total RevenueR2.6M/yrR24.2M/yrR116.8M/yrR405M/yr

5. Market Tailwinds and Risks

Tailwinds
  • Online grocery growing 25-35% CAGR
  • Subscription conditioning (Xtra Savings Plus, Uber One, Netflix)
  • Smart speaker growth in SA homes
  • No local competitor combines inventory tracking with delivery integration
  • Food waste awareness is growing
Headwinds
  • Retailers could build similar features into their own apps
  • Price sensitivity and cost-of-living pressures
  • Data costs for always-on app usage
  • No public APIs from SA retailers
  • Behavioural change required for habit formation
Bottom line: The SA market presents a R80B+ online grocery opportunity with no local player solving the household inventory problem. Pantry's target segment represents approximately 2.8 million households spending R250B+ annually on groceries. The timing is right: online grocery adoption is accelerating, subscription models are accepted, and voice-first interfaces are maturing.

Feature Prioritisation Matrix

Every feature scored on four dimensions: user impact, development effort, technical risk, and SA market fit. Features are grouped into MVP, Phase 2, and Future.

MVP: ship first Phase 2: next quarter Future: later or experimental
FeatureImpactEffortRiskSA FitScorePhase
Voice-first grocery list
Add, remove, check items via Google Nest or phone mic
53244.0MVP
Receipt scanning (OCR)
Snap till slips from Woolies, Checkers, Pick n Pay
53354.0MVP
Manual pantry management
Search, tap-to-add, quantity adjust
42154.0MVP
WhatsApp bot
"What do I need?" / "Add milk" via WhatsApp
43253.8MVP
Budget tracking (basic)
Monthly spend from receipts, category breakdown, ZAR
42153.8MVP
Family/multi-user management
Shared household list, role-based access
42143.8MVP
Delivery history integration
Pull order history from Woolies Dash, Checkers Sixty60
43453.3Phase 2
Predictive consumption
ML-based "you'll run out of eggs by Thursday"
54343.3Phase 2
Smart scale / mat integration
Weight-based pantry tracking via Bluetooth scales
54433.0Phase 2
Auto-ordering from retailers
One-tap reorder via Sixty60 or Woolies Dash
44553.0Phase 2
Camera-based tracking
Fridge/pantry cameras via computer vision
55522.3Future
NFC/RFID tagging
Tap-to-track individual items
34422.0Future
Scoring methodology: Priority Score = (User Impact + SA Fit) / 2, penalised by high effort and risk. Formula: ((Impact + SA Fit) / 2) - ((Effort - 1) * 0.15) - ((Risk - 1) * 0.2). This deliberately biases toward features that solve real problems for SA families.

MVP Rationale

MVP: Data-Entry Friction

The MVP focuses on reducing data-entry friction through three complementary input channels: voice (fastest for known items), receipt scanning (bulk capture after shopping), and WhatsApp (accessible anywhere, no app install).

Phase 2: Intelligence

Phase 2 adds intelligence and automation. Predictive consumption needs purchase history, which the MVP builds over time. Auto-ordering depends on retailer partnerships.

Future: Camera Tracking

Camera-based tracking is the dream, but: high hardware cost, privacy concerns, and computer vision models still struggle with SA-specific products.

Passive Tracking Technology Review

The core challenge: how does Pantry know what is in your kitchen without you manually logging every item? We evaluated nine technology approaches against feasibility, cost for SA households, privacy implications, and readiness for the South African market.

TechnologyFeasibilityCost (SA)PrivacySA ReadinessOverallVerdict
Receipt OCR5/55/55/55/55.0MVP
WhatsApp Business API4/54/54/55/54.3MVP
Google Home APIs4/54/54/53/53.8MVP
Predictive ML3/54/55/53/53.5Phase 2
Email/Order Parsing4/55/53/54/53.5Phase 2
Smart Scales3/52/55/52/53.0Phase 2
Weight Sensors2/51/55/51/52.0Future
Camera / CV2/51/51/51/51.3Future
NFC / RFID2/52/55/51/52.0Future

Receipt OCR (MVP Priority)

How it works: User photographs their till slip. OCR extracts store name, item list, quantities, prices, and date. Items matched against a product database.

SA-Specific Considerations
  • Woolworths receipts are well-structured, clean thermal print. Easiest to parse.
  • Checkers/Shoprite use abbreviated product names (e.g., "CHK HM MLK 2L"). Requires SA-specific abbreviation dictionary.
  • Pick n Pay receipts vary by store generation. Newer stores have QR codes linking to digital receipts.

Tech: Google Cloud Vision API or Azure Computer Vision. Estimated cost: ~R0.03 per receipt.

WhatsApp Business API (MVP Priority)

Why non-negotiable for SA: 96% of SA smartphone users are on WhatsApp. Minimal data usage (~1KB per text). Domestic workers and extended family far more likely to use WhatsApp than download a new app.

Tech: WhatsApp Business Cloud API (Meta-hosted). First 1,000 service conversations free per month, then ~R0.50 per conversation.

Google Home APIs (MVP Priority)

SA context: Google Nest devices available via Takealot and Incredible Connection. Nest Mini ~R900, Nest Hub ~R2,500. Google Assistant supports SA English accent recognition. Competitor Alexa has almost no SA presence.

Tech: Google Home APIs platform with fulfillment via webhook. For Nest Hub visuals, use Interactive Canvas.

Risk: Google has a history of deprecating platforms (Conversational Actions sunset 2023). Build abstractions.

Predictive Consumption ML (Phase 2)

Approach: Moving average of purchase intervals per item. SA-specific patterns: braai season (Sep-Mar), back-to-school (Jan), load shedding periods. Minimum 3 purchase cycles per item before predictions activate.

Why Phase 2: The MVP must build the data foundation first. Predictions only become valuable after 8-12 weeks of purchase data.

Recommended Technology Stack

MVP Stack

Google Cloud Vision (OCR), WhatsApp Business Cloud API, Google Home APIs, Firebase/Supabase (backend), React Native or Flutter (mobile)

Phase 2 Additions

Python ML pipeline (scikit-learn), Gmail API (email parsing), BLE SDK (smart scale integration), custom product matching model

Future Exploration

Edge AI / TensorFlow Lite (camera), custom hardware (smart shelf)

Load Shedding: The SA-Specific Constraint. Every technology choice must account for intermittent power and connectivity. Architecture must support: offline-first mobile app, WhatsApp's store-and-forward model, edge processing for receipt OCR (on-device fallback), and graceful degradation for IoT devices.

Integration Architecture

Pantry connects multiple input surfaces (voice, camera, WhatsApp, manual) to a unified pantry state, then pushes that state out to multiple output surfaces. This architecture prioritises offline resilience, SA retailer compatibility, and low-cost scaling.

System Architecture Overview

LayerComponents
Input ChannelsGoogle Nest Voice, WhatsApp Bot, Receipt Scanner, Mobile App, Smart Scale
API GatewayPantry API Gateway (Auth, Rate Limit, Routing) via REST + WebSocket
Core ServicesPantry State (CRUD + sync), NLP Engine, OCR Pipeline, User/Household management, Prediction engine
Data LayerPostgreSQL (items, users, history), Redis (cache, sync), Object Storage (receipts, photos), SA Product DB
ExternalWoolworths, Checkers, Pick n Pay (web scraping/future API), Google (Home APIs, Cloud Vision), Meta (WhatsApp API)

Retailer Integration (Phased)

Phase 1: Read-Only (MVP)

Receipt Photo → OCR Engine → Product Matcher → Pantry DB. No retailer integration needed: we read receipts, not APIs. Build SA abbreviation dictionary from 500+ receipts.

Phase 2: Email Parsing

Sixty60/Dash/ASAP emails → Email Parser → Item Extractor → Pantry DB. More reliable than OCR (structured HTML vs. faded thermal paper).

Phase 3: Direct (Partnership)

Pantry App → Pantry API → Retailer API → Delivery. Direct ordering, real-time stock. Revenue share 2-5% on orders. Viable at 50,000+ active households.

Cross-Surface Data Flow

SurfaceSync MethodLatencyOffline Support
Mobile AppWebSocket + local SQLite< 500msFull offline queue, sync on reconnect
Web DashboardWebSocket< 500msRead-only cache
Google NestWebhook (server push)1-3 secondsNest handles connectivity internally
WhatsAppWebhook (event-driven)1-5 secondsWhatsApp queues messages during offline
Smart ScaleBLE to app, then API5-30 secondsScale buffers readings locally

Infrastructure

Recommended: Google Cloud, Johannesburg region (africa-south1). <20ms latency for SA users, native integration with Cloud Vision and Google Home APIs.
ComponentServiceMonthly Cost (ZAR)
API ServerCloud Run (auto-scaling)R500 - R2,000
DatabaseCloud SQL (PostgreSQL)R1,200 - R3,500
CacheMemorystore (Redis)R800 - R1,500
OCR APICloud VisionR300 - R1,000
WhatsApp APIMeta Cloud APIR0 - R2,000
Total (1,000 households)R3,000 - R10,500/month

Multi-Surface Strategy

Pantry lives across five surfaces, each optimised for a different moment and context. The key insight: no single surface handles every grocery management scenario. SA households are multi-device, multi-person, and multi-context.

📱 Mobile App

Primary surface. Receipt scanning, barcode scanning, full pantry management, push notifications, offline mode, budget reports, smart scale pairing.

When: Shopping, scanning receipts, on the go

🏠 Google Nest Hub

Kitchen companion. Hands-free voice, ambient display, visual pantry summary, proactive reminders, multi-user voice recognition.

When: Cooking, hands dirty, quick checks

💬 WhatsApp Bot

Universal access layer. Zero app install, zero-rated data, receipt photo processing, voice note transcription, group chat integration.

When: Anywhere, anytime, domestic workers, extended family

💻 Web Dashboard

Planning and analytics. Full spending analytics, price trend charts, store comparison, bulk editing, household settings, data export.

When: Weekly planning, budget review

Sync Matrix

CapabilityMobileNest HubWhatsAppWeb
Pantry inventory
Shopping list
Receipt scanning
Voice commandsVoice notes
Budget/spendingSummary only
Push notifications
Offline accessPartial

MVP Surface Prioritisation

PrioritySurfaceRationaleTimeline
P0Mobile AppPrimary input surface. Receipt scanning, full management.MVP launch
P0WhatsApp BotWidest reach in SA. No install needed. Zero-rated data.MVP launch
P1Google Nest HubVoice-first kitchen experience. Differentiator.MVP launch
P2Web DashboardAnalytics and planning. Less urgent for MVP.MVP + 4 weeks

Design Principles

Surface-Native, Not Surface-Cloned. Each surface feels native to its platform. The Nest Hub is not a tiny version of the mobile app.

Lowest Common Denominator is WhatsApp. Every core action (add, check, get list) must work via WhatsApp text message.

Notification Routing. One notification, routed to the right surface. "Low stock" to WhatsApp. "Budget exceeded" to mobile push. "Morning summary" to Nest Hub.

Business Model Canvas

Pantry's business model is designed for the South African market, where grocery spending is a major household expense (R4,000-R8,000/month for LSM 7-10) and saving money on groceries is a universal priority.

Value Proposition

Never run out of essentials. Know what you have, what you need, before you need it.

Save money on groceries. Track spending, compare stores, avoid waste and duplicate purchases.

Effortless tracking. Scan receipts, use voice, send a WhatsApp. No manual logging.

Whole household, one system. Parents, domestic workers, family members all contributing.

Subscription Pricing (ZAR)

Pantry Free

R0/month
  • Manual pantry management
  • Shopping list (1 list)
  • WhatsApp bot (basic)
  • 5 receipt scans per month
  • 1 household member

Pantry Plus Most Popular

R49/month
  • Everything in Free
  • Unlimited receipt scans
  • Up to 4 household members
  • Google Nest Hub integration
  • Budget tracking and reports
  • WhatsApp bot (full features)

Pantry Premium

R99/month
  • Everything in Plus
  • Unlimited household members
  • Predictive restocking
  • One-tap ordering (Sixty60, Dash)
  • Store price comparison
  • Smart scale integration
  • Advanced analytics and insights
Pricing rationale: At R49/month, Pantry Plus costs less than a single Sixty60 delivery fee (R35-R50) and is positioned as a "save more than you pay" proposition. If Pantry saves even R200/month on wasted food and duplicate purchases, the ROI is clear.

Revenue Streams

StreamDescription
Subscriptions (primary)Free / R49 Plus / R99 Premium tiers
Retailer commissions2-5% on orders placed via Pantry
Promoted productsRetailers pay for featured placement
Data insightsAnonymised consumption trends sold to FMCG brands
Hardware marginBranded smart scales at retail markup

Unit Economics

MetricYear 1Year 2Year 3
Households5,00025,000100,000
Paid subscribers400 (8%)3,000 (12%)15,000 (15%)
Monthly revenueR27,000R266,000R1,520,000
Infrastructure costR15,000/moR60,000/moR200,000/mo
Team costR350,000/moR600,000/moR1,200,000/mo
Monthly burnR338,000R394,000Breakeven+

Competitive Moat

SA Product Database. Comprehensive database mapped across retailers with abbreviation dictionaries and price history. Takes months to build, hard to replicate.

Multi-Surface Lock-in. Once a household uses Pantry across mobile + WhatsApp + Nest Hub, switching costs are high. The domestic worker knows the bot. The purchase history is accumulated.

Purchase History Data. After 6 months, Pantry knows a household's complete grocery profile. The longer you use it, the more valuable it becomes.

Retailer Partnerships. Exclusive integration with Woolies Dash and Sixty60 creates a two-sided marketplace effect.

Key Risks

RiskSeverityMitigation
Retailers build their ownHighPantry is retailer-agnostic. Cross-store value is our advantage.
Low conversion to paidMediumCommission revenue provides secondary income. Adjust free tier limits.
WhatsApp API changesMediumBuild abstraction layer. Telegram as backup. Mobile app remains core.
POPIA complianceMediumPrivacy-by-design. Explicit consent. Data residency in SA (GCP africa-south1).