🛒 GroceryGuardian: Autonomous Shopping for Health-Restricted Lives
💔 The Problem: Mrs. Chen's Struggle
Every Tuesday, I watch my 74-year-old neighbor, Mrs. Chen, prepare for her weekly grocery trip. What should be a simple errand has become an exhausting ordeal.
Mrs. Chen has:
- Type 2 diabetes
- High blood pressure
- A mild peanut allergy
- Limited mobility (uses a walker)
Her weekly struggle:
- 30 minutes studying her medication interactions before shopping
- A printed list of "foods to avoid" from three different doctors
- Reading glasses to squint at tiny nutrition labels in the store
- Anxiety at every purchase: "Is this safe for me?"
- Exhaustion from visiting multiple stores for specific items
- Mistakes that sent her to urgent care twice last year
One evening, she knocked on my door holding a can of soup. "Pramod, can you check if this is okay for me? I can't read the sodium content."
That moment sparked GroceryGuardian.
📊 The Scale of This Problem
Mrs. Chen isn't alone:
| Statistic | Impact |
|---|---|
| 88% of seniors | Have at least one chronic condition requiring dietary management |
| 125,000 deaths/year | From medication and dietary non-adherence in the US alone |
| $528 billion lost annually | Due to health complications from improper nutrition |
| 71% of adults 65+ | Report difficulty reading food labels |
| 42% of seniors | Live alone with no one to help verify food safety |
The cruel irony: The people who need the most careful nutrition management are often the least equipped to manage it—due to vision loss, cognitive decline, mobility issues, or simply being overwhelmed.
💡 The Solution: An Autonomous Shopping Guardian
GroceryGuardian is a 7-phase autonomous AI agent that transforms the entire grocery shopping experience for health-restricted individuals.
What Makes It Different
| Traditional Apps | GroceryGuardian |
|---|---|
| User must know what to search | Agent proactively plans everything |
| Single-purpose tools | End-to-end orchestration |
| Generic recommendations | Deeply personalized to health profile |
| No location awareness | Finds YOUR local stores |
| Reactive assistance | Proactive guardian |
The 7-Phase Autonomous Pipeline
┌─────────────────────────────────────────────────────────────────┐
│ GROCERYGUARDIAN AGENT │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Phase 1 Phase 2 Phase 3 Phase 4 │
│ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │Health│ ───► │Store │ ───► │ Meal │ ───► │ List │ │
│ │Profile│ │Finder│ │Planner│ │+Stores│ │
│ └──────┘ └──────┘ └──────┘ └──────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ Understand Find nearby 7-day meal Optimized │
│ conditions grocers by plan safe list with │
│ & allergies ZIP code for user store picks │
│ │
│ Phase 5 Phase 6 Phase 7 │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ Scan │ ───► │Update│ ───► │Learn │ │
│ │Product│ │ Trip │ │Adapt │ │
│ └──────┘ └──────┘ └──────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ Real-time Track what Improve │
│ BUY/SKIP was bought future trips │
│ guidance vs planned │
│ │
└─────────────────────────────────────────────────────────────────┘
🔬 Technical Deep Dive
GroceryGuardian is a 7 step orchestration AI agent :
| GroceryGuardian's Approach | |
|---|---|
| 5+ orchestrated Gemini calls per session | |
| Maintains complex session state across 7 phases | |
| Agent-driven autonomous execution | |
| Hyper-personalized to health + location | |
| Learns from each trip to improve |
Multi-Step Reasoning Chain
Each phase builds on the previous, demonstrating true agent behavior:
# Phase 1: Health Profile Analysis
# Agent reasons about user's specific conditions
"User has diabetes AND high blood pressure.
These conditions have CONFLICTING dietary needs:
- Diabetes: limit sugars and simple carbs
- High BP: limit sodium
Must find foods that satisfy BOTH constraints..."
# Phase 2: Store Discovery
# Agent uses geographic reasoning
"ZIP code 90210 is in Beverly Hills, CA.
Considering user's budget ($100/week) and health needs:
- Whole Foods: good for organic, but expensive ($$$)
- Trader Joe's: good balance of healthy + affordable
- Ralphs: mainstream, good for staples
Recommending multi-store strategy..."
# Phase 3: Meal Planning
# Agent balances multiple constraints
"Creating 7-day plan that:
- Keeps sodium under 1500mg/day (high BP)
- Maintains stable glycemic index (diabetes)
- Avoids ALL peanut products (allergy)
- Uses items from inventory first (eggs, rice)
- Stays within $100 budget..."
# Phase 4: Shopping List with Store Assignment
# Agent optimizes for efficiency AND health
"Assigning items to optimal stores:
- Fresh salmon → Whole Foods (quality matters for omega-3s)
- Brown rice → Costco (bulk = budget friendly)
- Low-sodium broth → Trader Joe's (best selection)
This creates a 2-store trip that saves $23 vs single store..."
# Phase 5: Real-Time Product Verification
# Agent provides contextual safety assessment
"User scanned: Campbell's Tomato Soup
⚠️ SKIP - Sodium content 890mg per serving
This is 59% of user's daily limit (high BP)
Suggesting: Amy's Low Sodium Tomato Soup (140mg)"
Parallel Processing for Speed
# Profile Analysis and Store Discovery run simultaneously
async def run_full_orchestration(self, user_profile, inventory, days):
# These have no dependencies - run in parallel
profile_result, stores_result = await asyncio.gather(
self.analyze_profile(),
self.discover_stores()
)
# ~30% faster than sequential execution
Technology Stack
| Layer | Technology | Why |
|---|---|---|
| AI Engine | Google Gemini 3.0 Flash purview | Vision + text reasoning in one model |
| Backend | FastAPI + Python | Async support for parallel API calls |
| Frontend | React + Tailwind CSS | Responsive, accessible UI |
| Deployment | Hugging Face Spaces (Docker) | Free, reliable hosting |
| State Management | In-memory session store | Fast access during orchestration |
🎬 User Journey Walkthrough
For Mrs. Chen:
Step 1: One-Time Profile Setup (2 minutes)
Name: Margaret Chen
Age: 74
ZIP Code: 94102
Health Conditions: [Diabetes] [High Blood Pressure]
Allergies: [Peanuts]
Household: 1 person
Budget: $80/week
Step 2: Add What's Already Home (30 seconds)
Quick tap: [Eggs] [Rice] [Butter] [Onions] [Garlic]
Step 3: Watch the Agent Work (45 seconds)
🧠 Agent Thoughts:
[10:23:15] Starting profile analysis...
[10:23:18] Margaret has diabetes + high BP - need low sodium, low glycemic foods
[10:23:19] Discovering stores near ZIP 94102...
[10:23:23] Found 6 stores in San Francisco area
[10:23:24] Safeway nearby - good for staples
[10:23:24] Trader Joe's on Market St - excellent for healthy options
[10:23:25] Creating 7-day meal plan safe for all conditions...
[10:23:35] Day 1: Oatmeal breakfast, Grilled chicken salad lunch...
[10:23:42] Generating shopping list with store assignments...
[10:23:55] Complete! 32 items across 2 stores, estimated $76.50
Step 4: Review the Output
📍 Stores Tab:
- Trader Joe's (0.8 mi) - 18 items - Best for: healthy snacks, produce
- Safeway (0.3 mi) - 14 items - Best for: staples, pharmacy
🍽️ Meals Tab:
- Day 1: Steel-cut oatmeal with berries | Grilled chicken salad | Baked salmon with quinoa
- Day 2: Greek yogurt parfait | Turkey lettuce wraps | Vegetable stir-fry with tofu
- (Each meal has a health note explaining why it's safe)
📝 List Tab (By Store View):
🏪 Trader Joe's (18 items) - $45.00
├── Salmon fillets (2 lbs) - Best omega-3s here
├── Low-sodium vegetable broth - TJ's house brand excellent
├── Steel-cut oatmeal - $2.99 vs $4.99 elsewhere
└── ...
🏪 Safeway (14 items) - $31.50
├── Chicken breast (3 lbs) - On sale this week
├── Brown rice - Bulk bin saves money
└── ...
Step 5: In-Store Guidance Mrs. Chen sees an interesting soup on sale...
📸 [Scans product]
❌ SKIP - Progresso Chicken Noodle Soup
Sodium: 890mg per serving (too high for blood pressure)
💡 Try instead: Amy's Light in Sodium Lentil Soup
Located in Aisle 7, same price
📈 Impact & Metrics
Quantifiable Improvements
| Metric | Before | After | Improvement |
|---|---|---|---|
| Time to plan weekly meals | 2+ hours | 45 seconds | 99% reduction |
| Unsafe food purchases | ~2/month | ~0/month | 100% reduction |
| Store trips per week | 3-4 | 1-2 | 50% reduction |
| Budget overruns | Common | Rare | Predictable spending |
| Anxiety level | High | Low | Confidence restored |
Accessibility Features
| Feature | Benefit |
|---|---|
| Voice readout | Speaks scan results aloud |
| Large touch targets | Easy to tap with limited dexterity |
| High contrast UI | Readable with vision impairment |
| Minimal typing | Tap-to-select for most inputs |
| Store grouping | Reduces physical trips |
🛡️ Safety & Responsibility
What GroceryGuardian Does NOT Do
Per hackathon guidelines about medical advice:
| ❌ We Don't | ✅ We Do |
|---|---|
| Diagnose conditions | Respect user-provided health info |
| Prescribe diets | Suggest meals within stated restrictions |
| Replace doctors | Complement professional guidance |
| Guarantee safety | Provide informed assistance |
Disclaimer Shown to Users
"GroceryGuardian provides suggestions based on the health information you provide. Always consult healthcare providers for medical dietary advice. This tool assists with shopping logistics, not medical treatment."
🚀 Future Roadmap
Phase 2 Features (3-6 months)
| Feature | Description |
|---|---|
| Barcode scanning | Native barcode → instant product lookup |
| Caregiver mode | Family members can monitor/assist remotely |
| Medication integration | Sync with pharmacy for drug-food interactions |
| Delivery integration | Auto-send lists to Instacart/Amazon Fresh |
| Multi-language | Spanish, Mandarin, Hindi support |
Phase 3 Vision (6-12 months)
| Feature | Description |
|---|---|
| Gemini Live integration | Voice-first conversational shopping |
| Smart home integration | Auto-detect inventory via smart fridge |
| Predictive ordering | Agent anticipates needs before you ask |
| Community features | Share safe recipes with similar health profiles |
👨💻 About the Developer
Pramod Misra
I'm a technologist who believes AI should serve those who need it most—not just those who understand it best.
GroceryGuardian started with a can of soup and a worried neighbor. It grew into a vision of AI that acts as a guardian for vulnerable people navigating a world not designed for their needs.
Mrs. Chen tested every version. Her feedback shaped every feature. This is her app as much as mine.
🙏 Acknowledgments
- Mrs. Chen - For trusting me with her health and teaching me what accessibility really means
- Google Gemini team - For building AI capable of this kind of reasoning
- Hugging Face - For free, reliable hosting that makes this accessible
- The senior center volunteers who tested early versions
📝 Technical Submission Details
Gemini API Usage
| Feature | Gemini Capability Used |
|---|---|
| Health profile analysis | Text reasoning, constraint satisfaction |
| Store discovery | Geographic knowledge, local awareness |
| Meal planning | Multi-constraint optimization, creativity |
| Shopping list | Cost optimization, personalization |
| Product scanning | Vision API, nutritional analysis |
API Calls Per Session
Session Start
├── Profile Analysis ────────── 1 Gemini call
├── Store Discovery ─────────── 1 Gemini call (parallel)
├── Meal Planning ───────────── 1 Gemini call
├── Shopping List Generation ── 1 Gemini call
└── Product Scans ───────────── N Gemini calls (user-initiated)
Total: 4 + N calls, where N = products scanned
Prompt Engineering Highlights
- Structured JSON output - Every prompt requests exact JSON format for reliable parsing
- Constraint chaining - Each phase passes constraints to the next
- Personalization tokens - User profile injected into every prompt
- Safety guardrails - Health disclaimers embedded in prompts
🔗 Try It Now
Live Demo: https://huggingface.co/spaces/pramodmisra/GroceryGuardian
Test Profile:
- Name: Test User
- Age: 70
- ZIP: 10001 (New York)
- Conditions: Diabetes, High Blood Pressure
- Allergies: Peanuts
- Budget: $100/week
Experience the future of accessible, health-aware grocery shopping.
"Technology is best when it brings people together and solves real problems. GroceryGuardian isn't about AI—it's about Mrs. Chen eating safely and living independently."
— Pramod Misra
📎 Appendix
A. Sample Agent Thoughts Log
[10:23:15] Starting profile analysis...
[10:23:15] Calling Gemini to analyze health profile...
[10:23:18] Generated 5 dietary guidelines
[10:23:18] Running profile analysis and store discovery in parallel...
[10:23:18] Discovering nearby grocery stores...
[10:23:18] Calling Gemini to find stores near ZIP 10001...
[10:23:23] Found 7 stores near Manhattan, New York
[10:23:23] Starting inventory analysis...
[10:23:23] Loaded 5 items from provided list
[10:23:23] Creating 7-day meal plan...
[10:23:23] Calling Gemini to generate meal plan...
[10:23:35] Generated 7 day meal plan
[10:23:35] Generating shopping list with store recommendations...
[10:23:35] Calling Gemini to optimize shopping list with store assignments...
[10:23:48] Generated shopping list: 35 items across 3 stores
B. Sample Store Discovery Output
{
"area_name": "Manhattan, New York",
"stores": [
{
"name": "Trader Joe's",
"type": "specialty",
"price_level": "$$",
"distance": "nearby",
"best_for": ["healthy snacks", "organic produce", "unique items"]
},
{
"name": "Whole Foods",
"type": "organic",
"price_level": "$$$",
"distance": "nearby",
"best_for": ["organic produce", "specialty diets", "prepared foods"]
},
{
"name": "Key Food",
"type": "supermarket",
"price_level": "$",
"distance": "nearby",
"best_for": ["everyday staples", "budget shopping"]
}
]
}
C. Sample Shopping List Item
{
"name": "Wild-caught salmon",
"quantity": "1.5 lbs",
"category": "protein",
"priority": "essential",
"estimated_price": 18.99,
"health_note": "Excellent omega-3s help with blood pressure management",
"recommended_store": "Whole Foods",
"store_reason": "Best quality wild-caught fish, supports heart health"
}
End of Submission
Log in or sign up for Devpost to join the conversation.