shopstack / Docs /archive /ShopStack_Exploration_Map.md
pranaysuyash's picture
Sync ShopStack 2026-06-15: corrections panel, empty-state rewrite, market-source suppression
8294cde verified
|
Raw
History Blame Contribute Delete
182 kB

A newer version of the Gradio SDK is available: 6.19.0

Upgrade

ShopStack Exploration Map

Project: ShopStack / GharStock
Purpose: A living exploration map for agents and collaborators.
Rule: Keep adding to this file whenever a model, product angle, dataset, architecture pattern, evaluation method, market idea, or risk deserves future investigation.


0. Product Summary

ShopStack is a small-model shopping copilot and household commerce memory layer.

It helps a household:

  • know what is already at home,
  • build shopping lists,
  • scan shelves, markets, receipts, packets, fridges, and pantry spaces,
  • ask questions by voice,
  • decide buy / skip / compare / replace,
  • add purchases into inventory,
  • track freshness, expiry, price, quantity, and location,
  • remember where items are stored,
  • learn which stores are cheaper/better,
  • understand travel, weather, timing, and convenience,
  • create anonymized traces and field notes for the Build Small Hackathon.

The product is intentionally broad long-term, but every exploration should connect back to household shopping, inventory, market intelligence, or daily-use memory.


1. Capability Map

1.1 Language + Reasoning

Current / possible capabilities:

  • NER for item, brand, unit, quantity, store, price, location, date.
  • Intent classification.
  • Command parsing.
  • Tool-call planning.
  • Natural-language inventory query.
  • Shopping decision explanation.
  • Multilingual / Hinglish / Indian household phrasing.
  • Synonym and alias normalization.
  • Structured JSON extraction.
  • RAG over household memory.
  • Safety disclaimers for nutrition/medicine/price uncertainty.

Exploration questions:

  • Which small model is best at Indian household command parsing?
  • Can a tiny fine-tuned parser outperform a larger general model on our exact commands?
  • How much can rules + schema validation reduce model errors?
  • Which model produces the cleanest JSON tool calls locally?
  • Should we separate command parser and answer generator?

Candidate model families:

  • MiniCPM / OpenBMB
  • Qwen
  • LFM / LiquidAI
  • Gemma
  • GPT-OSS
  • Granite
  • GLM
  • Mistral / Voxtral for speech-heavy flows
  • Llama / Phi GGUF models for llama.cpp badge

1.2 NER / Entity Extraction

Entities to extract:

  • item name
  • canonical item name
  • item category
  • brand
  • local alias
  • quantity
  • unit
  • price
  • normalized unit price
  • expiry date
  • manufacturing date
  • store
  • location at home
  • storage instruction
  • nutrition facts
  • household member preference
  • purchase timestamp
  • travel context
  • weather context

Exploration questions:

  • Should NER be rule-based, model-based, or hybrid?
  • Can a fine-tuned small model map Hinglish utterances to canonical items?
  • How do we handle ambiguous items like β€œSurf,” β€œVim,” β€œMaggi,” β€œbread,” β€œpav,” β€œdahi,” β€œcurd,” β€œyogurt”?
  • Can we build a household-specific lexicon that improves over time?
  • Should item names be canonicalized using embeddings?

Dataset ideas:

  • Indian household item alias dataset.
  • Grocery command dataset.
  • Receipt-line-to-canonical-item dataset.
  • Hinglish quantity normalization dataset.
  • Expiry and storage instruction dataset.

1.3 Time Series

Time-series capabilities:

  • consumption rate estimation,
  • days-until-stockout,
  • restock interval prediction,
  • price trend by item,
  • price trend by store,
  • day-of-week price patterns,
  • seasonality,
  • freshness decay,
  • expiry forecasting,
  • travel effort over time,
  • store quality over time,
  • household category spend.

Exploration questions:

  • Which items have predictable restock cycles?
  • How much history is needed for useful next-buy predictions?
  • Can we estimate stockout without exact daily consumption?
  • What is the right confidence language: β€œlikely low,” β€œprobably enough,” β€œuncertain”?
  • How do we handle multiple lots of the same item?
  • Should predictions be rule-based initially and learned later?

Possible models / tools:

  • statsmodels / Prophet-like approaches,
  • DuckDB time-series queries,
  • simple rolling averages,
  • exponential smoothing,
  • Bayesian inventory estimates,
  • local notebooks / HF Jobs / Modal experiments.

1.4 Spatial Intelligence

Spatial layers:

  • fridge shelf memory,
  • pantry shelf memory,
  • household location map,
  • item last-seen memory,
  • item movement events,
  • room/shelf heatmap,
  • β€œfind this item” assistant,
  • storage recommendation,
  • household location graph,
  • future AR/SLAM-like map.

Exploration questions:

  • Can shelf/fridge photos become stable β€œlocation snapshots”?
  • How do we identify the same item across days?
  • Can we track β€œmilk moved from shopping bag β†’ fridge door”?
  • How much user confirmation is needed?
  • Should locations be user-defined first: fridge top shelf, pantry shelf 2, bathroom cabinet?
  • Is a heatmap useful before AR/SLAM exists?
  • Can we use image embeddings for β€œthis looks like the same shelf”?

Possible tools:

  • OpenCV,
  • object detection,
  • image embeddings,
  • segmentation,
  • H3/geospatial only for external market map,
  • graph DB or SQLite graph tables,
  • future WebAR / mobile capture.

1.5 Voice: STT, TTS, Audio

Voice capabilities:

  • voice shopping list creation,
  • voice correction,
  • voice ask while shopping,
  • voice answer in noisy market mode,
  • voice-based item movement,
  • voice-based price logging,
  • Indian-language / Hinglish UX,
  • audio confidence and retry UX.

STT candidates to evaluate:

  • Qwen3-ASR-1.7B
  • NVIDIA Parakeet / Nemotron 0.6B streaming ASR
  • Mistral Voxtral Mini Realtime
  • SenseVoiceSmall
  • VibeVoice ASR
  • Cohere Transcribe model
  • Granite Speech
  • Whisper large-v3-turbo baseline

TTS candidates to evaluate:

  • MOSS-TTS-v1.5
  • VoxCPM2
  • Qwen3-TTS 0.6B / 1.7B
  • Higgs Audio v3 TTS
  • Kokoro-82M
  • CosyVoice
  • OmniVoice
  • Chatterbox / XTTS-style models if useful

Exploration questions:

  • Which model best handles Hinglish grocery commands?
  • Can the response voice be short, warm, and market-friendly?
  • Should we use browser/device TTS as fallback?
  • How do we handle noisy market audio?
  • Can audio be processed locally in the Space without cloud APIs?
  • How do we benchmark STT/TTS quickly?

Benchmark phrases:

  • β€œDoodh ghar pe hai kya?”
  • β€œTamatar aadha kilo add karo.”
  • β€œNahi, yeh pyaaz hai aloo nahi.”
  • β€œBread expiry kal ka hai, skip karo.”
  • β€œSurf Excel already ghar pe hai kya?”
  • β€œIsko pantry mein move karo.”
  • β€œKal breakfast ke liye kya hai?”

1.6 Vision Understanding

Vision capabilities:

  • item detection,
  • item classification,
  • visual grounding,
  • shelf/market scan,
  • packet understanding,
  • receipt understanding,
  • fridge/pantry scan,
  • freshness/ripeness hints,
  • damaged/spoiled item detection,
  • visual confirmation cards,
  • annotated photos.

Candidate models / tools:

  • Gemma multimodal models
  • MiniCPM-V
  • LocateAnything
  • Qwen VL / image models
  • RF-DETR
  • YOLO variants
  • Marlin-2B for video
  • TimeLens / video grounding models
  • OpenCV + OCR hybrids
  • CLIP/embedding-based matching

Exploration questions:

  • Which model works best on Indian market photos?
  • Can open-vocabulary grounding identify β€œdhaniya,” β€œpav,” β€œdahi,” β€œatta”?
  • Does a general VLM beat object detection for household goods?
  • Can we use image crops + text model instead of one large VLM?
  • How do we show uncertainty without frustrating users?

1.7 OCR / Extraction

OCR targets:

  • receipts,
  • packet labels,
  • expiry dates,
  • MRP,
  • quantity,
  • brand,
  • nutrition facts,
  • store name,
  • receipt totals,
  • bill line items,
  • handwritten notes.

Candidate tools:

  • PaddleOCR / PaddleOCR-VL
  • NuExtract3
  • Tesseract fallback
  • Donut-like document models
  • DocTR / LayoutLM-style pipelines
  • OCR + LLM extraction hybrid

Exploration questions:

  • Can receipt OCR handle local Indian store bills?
  • How do we normalize quantities from OCR?
  • Can we reliably detect expiry dates from packets?
  • How do we distinguish MRP from sale price?
  • Should packet OCR be a separate close-up mode?

1.8 Classification

Classification tasks:

  • item category,
  • storage location,
  • food vs household vs medicine vs cleaning,
  • perishable vs shelf-stable,
  • urgent vs optional,
  • buy / skip / compare,
  • confidence class,
  • freshness class,
  • trace safety/redaction class,
  • price anomaly class,
  • user intent class.

Exploration questions:

  • Which classifications can be rules?
  • Which need fine-tuning?
  • Should we use a lightweight classifier before LLM calls?
  • Can the fine-tuned model handle both intent and item category?
  • How do we evaluate classification in Field Notes?

1.9 Segmentation / Grounding

Segmentation capabilities:

  • product crop cards,
  • item cutouts,
  • shelf zones,
  • fridge zones,
  • visual confirmation,
  • background removal,
  • annotated maps.

Candidate tools:

  • RMBG
  • BiRefNet
  • ClipSeg
  • SAM variants if feasible
  • YOLO segmentation
  • RF-DETR segmentation
  • LocateAnything grounding
  • OpenCV masks

Exploration questions:

  • Is segmentation necessary for every flow, or only review cards?
  • Which model runs reliably in Spaces?
  • Can segmentation improve user trust?
  • Can shelf-zone segmentation power household spatial memory?
  • How should we handle overlapping groceries?

1.10 Image Generation / Editing

Use cases:

  • annotated shopping photos,
  • item cards,
  • shelf maps,
  • β€œuse soon” visual cards,
  • printable pantry labels,
  • shopping summary posters,
  • household heatmap illustrations,
  • price comparison cards,
  • Field Notes visuals.

Candidate models:

  • Black Forest Labs FLUX.2-klein-4B
  • FLUX.2-klein-9B
  • Qwen Image Edit
  • ControlLight
  • Lightweight PIL/HTML card generation
  • SVG-based generated layouts

Exploration questions:

  • Is image generation useful enough for the product, or should deterministic visual cards come first?
  • Can generated cards improve sharing and polish?
  • How do we keep image edits from hallucinating wrong product details?
  • Should all factual text be rendered by code, not generated into image pixels?

1.11 Embeddings / Retrieval

Embedding uses:

  • item alias matching,
  • receipt line matching,
  • memory search,
  • similar purchase recall,
  • store note retrieval,
  • trace retrieval,
  • product substitute matching,
  • voice phrase similarity,
  • user preference retrieval,
  • location snapshot matching.

Candidate embedding models:

  • Qwen embeddings
  • MiniLM / sentence-transformers
  • multilingual E5 family
  • BGE multilingual
  • Jina embeddings
  • small local embedding models
  • CLIP / SigLIP for image similarity

Exploration questions:

  • Which multilingual embedding model handles Hinglish item aliases best?
  • Should text and image embeddings share one store?
  • Is SQLite vector extension enough?
  • Should we use FAISS, LanceDB, Chroma, or DuckDB extensions?
  • Can embeddings help trace retrieval for Sharing is Caring?

1.12 Graph / Linkage Memory

Nodes:

  • Item
  • ItemLot
  • Store
  • MarketArea
  • HouseholdLocation
  • Shelf
  • FridgeZone
  • PurchaseEvent
  • PriceObservation
  • ShoppingTrip
  • WeatherContext
  • UserPreference
  • Recipe
  • Trace
  • ModelRun

Edges:

  • bought_at
  • stored_in
  • moved_to
  • consumed_by
  • expires_before
  • substitutes
  • usually_bought_with
  • preferred_by
  • cheaper_at
  • best_quality_at
  • seen_in_photo
  • mentioned_in_voice
  • derived_from_receipt
  • weather_affected
  • route_to
  • worth_travelling_for

Exploration questions:

  • Is a graph DB needed, or can SQLite edge tables do enough?
  • Which queries need graph traversal?
  • Can graph memory make the product feel smarter quickly?
  • How do we visualize this without making it technical?

2. User Use Case Map

2.1 Before Shopping

Use cases:

  • create list from voice,
  • check what is already at home,
  • predict next buys,
  • suggest what to buy for meals,
  • avoid buying duplicates,
  • choose store based on list,
  • compare travel effort,
  • account for weather,
  • generate shopping route,
  • plan by budget.

Questions:

  • β€œWhat should I buy today?”
  • β€œWhat is low at home?”
  • β€œCan we make dinner without shopping?”
  • β€œWhich store should I go to?”
  • β€œIs the Sunday market worth it today?”

2.2 During Shopping

Use cases:

  • scan shelf,
  • ask if item is needed,
  • compare with home inventory,
  • compare price with memory,
  • check expiry,
  • identify unknown item,
  • quantity advice,
  • substitution advice,
  • allergy/preference warning,
  • budget warning.

Questions:

  • β€œDo I need this?”
  • β€œIs this price okay?”
  • β€œWhich one should I pick?”
  • β€œIs this enough?”
  • β€œDo we already have this?”
  • β€œIs this near expiry?”
  • β€œCan I skip this?”

2.3 After Shopping

Use cases:

  • purchase photo ingestion,
  • receipt ingestion,
  • inventory update,
  • expiry tracking,
  • price observation logging,
  • store rating,
  • trip context logging,
  • trace export,
  • family summary.

Questions:

  • β€œAdd all this.”
  • β€œWhat expires first?”
  • β€œWhat did we spend?”
  • β€œWhere should this go?”
  • β€œDid we overbuy anything?”

2.4 At Home

Use cases:

  • find items,
  • check stock,
  • plan meals,
  • use-soon reminders,
  • move item location,
  • consume item,
  • estimate remaining quantity,
  • household member asks questions,
  • shelf/fridge scan,
  • spatial memory.

Questions:

  • β€œWhere is the dahi?”
  • β€œDo we have detergent?”
  • β€œWhat should we use today?”
  • β€œWhat is in the fridge?”
  • β€œMove toothpaste to bathroom cabinet.”
  • β€œHow much rice is left?”

2.5 Market Intelligence

Use cases:

  • price trends,
  • store ranking,
  • cheapest location,
  • freshness/quality memory,
  • travel-time decision,
  • weather-aware recommendation,
  • route-aware shopping,
  • neighborhood price map,
  • Market Intelligence Graph / Market Map: home inventory + live market cards + price memory + substitutions + freshness risk,
  • snapshot-based benchmarking from real market dataset imports.

Questions:

  • β€œWhere was tomato cheapest?”
  • β€œIs this price high?”
  • β€œWhich store is better for fruits?”
  • β€œShould I travel to the market today?”
  • β€œWhat did we learn from last month’s shopping?”
  • β€œHow much can a Swiggy price snapshot improve price memory and trip decisions?”

3. Build Small Hackathon Constraint Map

Non-negotiables:

  • total loaded model parameters must be <= 32B,
  • app must be built on Gradio,
  • app must be hosted as a Hugging Face Space,
  • short walkthrough video and social post required,
  • main track should show a real person / real problem,
  • Codex is a parallel track, not the product.

Bonus quests:

  • Off the Grid: no cloud APIs in runtime path.
  • Well-Tuned: use a fine-tuned model published on HF.
  • Off-Brand: custom frontend beyond default Gradio.
  • Llama Champion: run a model through llama.cpp.
  • Sharing is Caring: publish anonymized agent traces.
  • Field Notes: write report/blog about what was built and learned.

Exploration questions:

  • Which bonus quests are product-aligned?
  • How do we claim Off the Grid while using credits for build-time jobs?
  • How do we make llama.cpp visible in the app/report?
  • What is the smallest useful fine-tune?
  • How should traces be anonymized?

4. Sponsor Alignment Map

Hugging Face + Gradio

Explore:

  • Spaces deployment,
  • Space README metadata,
  • dataset/model linking,
  • model publishing,
  • dataset publishing,
  • Jobs,
  • GPU Spaces,
  • custom Gradio Blocks UI,
  • Gradio API endpoints,
  • traces as datasets.

OpenBMB

Explore:

  • MiniCPM5-1B as parser/planner,
  • MiniCPM5-1B-GGUF for llama.cpp badge,
  • MiniCPM-V for vision,
  • VoxCPM2 for TTS,
  • OpenBMB special category angle.

OpenAI / Codex

Explore:

  • Codex-attributed commits,
  • AGENTS.md,
  • codex build log,
  • tests and docs generated/reviewed by Codex,
  • public GitHub repo,
  • β€œBuilt with Codex” README section,
  • Codex as engineering lane only.

NVIDIA

Explore:

  • LocateAnything for grounding,
  • Parakeet/Nemotron ASR,
  • GPU experiments,
  • accelerated vision/audio workflows,
  • possible RTX 5080 relevance in final story.

Modal

Explore:

  • fine-tuning jobs,
  • benchmark jobs,
  • model comparison runs,
  • trace generation,
  • quantization,
  • batch inference,
  • dataset generation.

Black Forest Labs

Explore:

  • FLUX image edit / visual cards,
  • use-soon cards,
  • shelf maps,
  • shopping summaries,
  • annotated item visuals.

Cohere

Explore:

  • ASR/transcription model comparison,
  • embeddings/reranking comparisons if available,
  • not required for local-first runtime.

5. Dataset Exploration Map

Potential datasets to create/publish:

  1. Indian household shopping utterances.
  2. Hinglish grocery command parser dataset.
  3. Item alias/canonicalization dataset.
  4. Purchase photo annotation dataset.
  5. Receipt OCR/extraction dataset.
  6. Packet label/expiry extraction dataset.
  7. Inventory tool-call traces.
  8. Market decision traces.
  9. Price observation synthetic dataset.
  10. Shelf/fridge location memory dataset.
  11. Voice benchmark dataset.
  12. TTS pronunciation phrase set.
  13. Store memory schema examples.
  14. Redacted agent trace dataset for Sharing is Caring.
  15. Field Notes dataset with examples and failure modes.
  16. Swiggy Instamart fresh vegetables snapshot dataset for price/unit-price benchmarking and market intelligence experiments.

Dataset quality questions:

  • What can be public?
  • What must be synthetic?
  • What must be anonymized?
  • What needs user consent?
  • Which datasets help Well-Tuned most?
  • Which datasets help judges understand the product?

5.1 Decision‑First Today / ShopStack Topic Map

A decision-first Today experience should be built around the questions users actually ask in the moment, not around tabs.

  • What I have: household stock and location memory for pantry, fridge, and kitchen items.
  • What I should buy: buy recommendations shaped by stock, waste risk, price snapshots, and market intelligence.
  • What I should skip: overbuy warnings, duplicate items, and suggestions to avoid waste.
  • What I should use soon: use-soon actions, meal prompts, and practical expiry-aware reminders.
  • My own list: personal shopping list, voice list edits, and familiar/repeat item memory.
  • Compare prices / offers: price/unit-price benchmarking, Swiggy Instamart fresh vegetables snapshot comparisons, and store choice tradeoffs.
  • Market basket: basket-level intelligence, category budget signals, and market snapshot analytics.
  • What needs confirmation: uncertain OCR/image matches, missing quantities, and low-confidence items.
  • What I usually buy: recurring purchase patterns, cadence, and habitual home shopping behavior.
  • What I’m overbuying / wasting: waste risk, stale stock alerts, and spend leakage from items that are not being used.

This should explicitly tie the Today dashboard to exploration-level research, including the Swiggy Instamart fresh vegetables snapshot dataset and market intelligence experiments.

2026-06-08 Update: The decision-first navigation has been implemented. The 15 flat tabs were restructured into 5 primary tabs (Today β†’ Basket β†’ ShopLens β†’ Reconcile β†’ Memory) with sub-tabs preserving all functionality. See DR-005 in DECISION_RECORDS.md for the full rationale and migration record. The product now opens to Today (decision-first dashboard with integrated Ask) rather than a flat feature catalog. Next exploration targets:

  • Wire purchase cadence and waste prevention widgets into the Today dashboard so it answers "what should I do today?" without switching tabs.
  • Surface Basket-level decision classification (buy/skip/compare/use-soon) more prominently in the Today view.
  • Track which sub-tabs get the most real-world usage to validate or adjust the navigation hierarchy.

6. Evaluation Map

Product Evaluations

  • Can the user create a list by voice?
  • Can the app detect relevant visible items?
  • Can the app correctly say buy/skip?
  • Can it add confirmed purchases?
  • Can it answer inventory questions?
  • Can it find item locations?
  • Can it explain uncertainty?

Model Evaluations

  • STT exactness and intent retention.
  • TTS clarity and warmth.
  • OCR field extraction accuracy.
  • object detection recall.
  • segmentation usability.
  • tool-call JSON validity.
  • parser intent accuracy.
  • latency.
  • memory use.
  • parameter count.
  • install/deploy pain.
  • local-first compatibility.

Trace Evaluations

  • trace completeness,
  • privacy redaction,
  • reproducibility,
  • educational value,
  • tool-call correctness.

Field Notes Evaluations

  • real user used it,
  • what worked,
  • what failed,
  • what changed after feedback,
  • small-model fit,
  • honest limitations.

7. Marketing / Positioning Exploration

Possible positioning:

  • β€œRemember what’s at home while you shop.”
  • β€œA shopping copilot for Indian homes.”
  • β€œPhoto + voice inventory for everyday shopping.”
  • β€œYour fridge, pantry, market, and shopping list in one memory.”
  • β€œSmall models for small household decisions.”
  • β€œThe home commerce memory layer.”
  • β€œNot another grocery app β€” a memory for what you buy, where it goes, and when to buy again.”

Potential audiences:

  • Indian families,
  • parents,
  • students/hostels,
  • shared flats,
  • home cooks,
  • small kirana shoppers,
  • apartment households,
  • elderly users,
  • caregivers,
  • domestic helpers managing stock,
  • local sellers later as adjacent market.

Potential channels:

  • hackathon demo,
  • YouTube build stream,
  • Twitter/X build thread,
  • LinkedIn product post,
  • HF Space leaderboard,
  • Gradio Discord,
  • Indian tech/ProductHunt style launch,
  • Reddit India/frugal/mealprep communities,
  • WhatsApp family-group proof-of-use story.

Exploration questions:

  • Is β€œShopStack” too general or perfect for scaling?
  • Should the India-local layer be in the tagline, not name?
  • Can demo be recorded with real household shopping?
  • What short video moment makes people immediately understand?
  • Which poster/screenshot is most shareable?

8. Risk / Constraint Exploration

Risks:

  • too broad,
  • over-reliance on imperfect vision,
  • noisy market audio,
  • privacy concerns,
  • live price unreliability,
  • too many models in one Space,
  • 32B parameter accounting,
  • non-commercial model licenses,
  • Gradio UI becoming complex,
  • agent anchoring to a reduced scope,
  • overclaiming accuracy,
  • app feeling like a demo instead of product direction.

Mitigations:

  • confirmation-first UX,
  • model registry,
  • local-first mode,
  • connected modes clearly separated,
  • visible uncertainty,
  • trace redaction,
  • field notes,
  • provider interfaces,
  • benchmark scripts,
  • privacy-first README,
  • no auto-purchase,
  • no medical/diet/legal claims,
  • no private data in repo.

9. Open Questions

Agents should keep adding questions here.

  1. Which model stack gives the best local-first performance under 32B?
  2. Which model is easiest to run through llama.cpp for the parser?
  3. What exact fine-tuned model should be published for Well-Tuned?
  4. How much real household data can be safely used?
  5. What is the first public trace dataset schema?
  6. How should we count parameters when multiple models are optional but not loaded together?
  7. Can Gradio handle the desired custom UI without too much friction?
  8. Which STT model handles Hinglish best?
  9. Which TTS model sounds warm enough for household use?
  10. Should we use OCR or VLM-first for receipts?
  11. How do we estimate quantity from photos without overclaiming?
  12. Should price intelligence be mostly manual-memory-first?
  13. How much map/heatmap functionality belongs in the app surface?
  14. What is the simplest useful household map?
  15. How do we benchmark live market/shelf scans?
  16. What should be in the walkthrough video?
  17. What should the social post emphasize?
  18. What should the Field Notes title be?
  19. How can Codex involvement be made obvious and authentic?
  20. What is the strongest sponsor-alignment story?

10. Parking Lot

Use this for anything that may be interesting later.

  • AR mode for finding items at home.
  • Barcode scanning.
  • Local store loyalty memory.
  • Recipe planning from inventory.
  • Waste tracking.
  • Family member preferences.
  • Domestic helper voice workflow.
  • Shared household mode.
  • WhatsApp integration.
  • Calendar/reminder integration.
  • Price community map.
  • Privacy-preserving neighborhood price sharing.
  • Offline mobile app.
  • Browser extension for online grocery carts.
  • Email receipt ingestion.
  • Smart label printing.
  • Shelf-life prediction from images.
  • Freshness/ripeness model.
  • Food waste report.
  • Shopping carbon/effort score.
  • Festival shopping planning.
  • Monthly household budget intelligence.
  • Elder-friendly voice-only mode.
  • Accessibility mode for low-vision shoppers.
  • Agentic shopping comparison, with user confirmation only.
  • Local-language onboarding.
  • Synthetic data generation pipeline.
  • Human review UI for fine-tune data.
  • Public leaderboard for household command parsing models.
  • Sponsor-specific benchmark tables.
  • Model replacement changelog.

11. Agent Contribution Protocol

When an agent adds an exploration item:

  1. Add it under the relevant section.
  2. Include why it matters for ShopStack.
  3. Add model/tool links if known.
  4. Mark whether it affects:
    • product,
    • model stack,
    • dataset,
    • evaluation,
    • UI,
    • privacy,
    • sponsor alignment,
    • bonus quest,
    • marketing.
  5. Do not delete old ideas unless they are unsafe or clearly obsolete.
  6. Move rejected ideas to a β€œrejected/paused” note with reason.
  7. Keep this map broad; implementation tasks belong in task docs, not here.
  8. Avoid anchoring language that frames the product as temporary or small.
  9. Keep hackathon constraints visible.
  10. Prefer swappable interfaces over hardcoded models.

Template:

### Idea / Model / Tool / Angle

**Category:** model / product / dataset / marketing / eval / privacy / sponsor / UI  
**Why it matters:**  
**How to test:**  
**Risks:**  
**Links:**  
**Status:** explore / test / adopt / pause / reject  

12. Current Strongest Directions

  1. Voice-first shopping list and correction.
  2. Vision-based market/shelf scan.
  3. Purchase photo ingestion.
  4. Inventory and freshness memory.
  5. Household spatial memory.
  6. Price and store memory.
  7. Fine-tuned Indian household command parser.
  8. llama.cpp parser/planner.
  9. Anonymized trace dataset.
  10. Field Notes with real household use.
  11. Off-brand custom Gradio UI.
  12. Model benchmarking and replacement policy.

Last updated: 2026-06-05


13. Explorer Addendum β€” Product and Architecture Discovery Backlog (2026-06-06)

Source mix: current docs, current package shape, test inventory, product hardening notes, and first-principles household-commerce analysis.
Status: exploration backlog; not implementation commitment.
Update policy: append-only unless an item is later superseded with a dated note.

13.1 Decision Service Extraction: make Gradio an adapter, not the brain

Category: architecture / product / evaluation / UI
Why it matters: Current docs already identify shopping service extraction as the canonical direction. The same boundary should cover Market Lens, Today dashboard, inventory recommendations, trace composition, and price intelligence so decisions are testable without UI wiring. This turns ShopStack from a demo UI into a durable household decision engine.
How to test: Create service-level tests that accept typed inputs and return typed decision objects; UI tests should only verify rendering/wiring.
Risks: Over-abstracting before the domain stabilizes. Keep services narrow and behavior-first.
Status: adopt incrementally.

13.2 Confidence-calibrated household recommendations

Category: product / model stack / evaluation / UI
Why it matters: β€œBuy,” β€œskip,” and β€œuse soon” decisions need calibrated confidence language because household data is incomplete: unknown exact quantities, stale market prices, missing expiry dates, and approximate consumption rates. A clear uncertainty model increases trust and avoids fake precision.
How to test: Build fixtures for complete, partial, stale, and contradictory household states; assert both recommendation and confidence wording.
Risks: Too many caveats can make the product feel timid. Use concise labels: confident / likely / uncertain / needs confirmation.
Status: explore β†’ adopt.

13.3 Household memory quality score

Category: product / data / UI / evaluation
Why it matters: The app should tell users whether its memory is good enough to trust. A β€œmemory freshness / completeness” score can surface stale inventory, unpriced items, missing locations, uncertain quantities, and old market snapshots.
How to test: Score deterministic seeded households with known gaps; verify the score changes after purchases, consumption, imports, and stale data.
Risks: A score without actionable fixes becomes vanity UI. Pair every low score with the next best cleanup action.
Status: explore.

13.4 Receipt and invoice ingestion pipeline

Category: product / vision / OCR / dataset / privacy
Why it matters: Manual purchase entry is high friction. Receipts, app invoices, WhatsApp order summaries, and email receipts can populate inventory, price memory, store memory, and purchase cadence in one action.
How to test: Start with local sample receipt text/images; evaluate extraction into PurchaseEvent + PriceObservation + InventoryLot candidates with user confirmation.
Risks: PII leakage, messy receipt formats, and false inventory additions. Keep local-first, redacted, and confirmation-backed.
Status: explore.

13.5 Post-shopping reconciliation flow

Category: product / UI / data integrity
Why it matters: A shopping list is not complete until the household confirms what was actually bought, skipped, substituted, or already found at home. This flow would close the loop between plan β†’ purchase β†’ inventory β†’ price memory.
How to test: Simulate a list with bought/partial/substituted/skipped items and assert inventory lots, price observations, shopping list state, and traces update together.
Risks: Too much bookkeeping. Use batch confirmation with sensible defaults.
Status: adopt candidate.

13.6 Substitution intelligence

Category: product / model stack / dataset / evaluation
Why it matters: Real shopping involves substitutions: tomato types, milk sizes, dal brands, detergent pack sizes, produce quality, and budget alternatives. ShopStack should recommend acceptable swaps based on household preference, price, unit price, shelf life, and recipe intent.
How to test: Build a substitution fixture set with item families, unacceptable swaps, dietary constraints, and unit-price comparisons.
Risks: Bad substitutions can break recipes or preferences. Require confirmation and learn from rejections.
Status: explore.

13.7 Waste-aware meal/use suggestions

Category: product / model stack / UI / marketing
Why it matters: β€œUse soon” becomes more valuable when it suggests practical actions: β€œuse spinach tonight,” β€œmake raita with curd,” β€œfreeze bread,” or β€œmove onions out of fridge.” This ties inventory memory to waste reduction.
How to test: Fixture expiring items and assert suggestions respect available pantry items, shelf life, household preferences, and safety disclaimers.
Risks: Recipe hallucination and unsafe food advice. Keep suggestions simple, local, and confidence-tagged.
Status: explore.

13.8 Store reliability and quality memory

Category: product / data / evaluation / UI
Why it matters: Cheapest is not always best. Produce quality, delivery reliability, substitutions, stale items, missing items, and refund friction should influence future recommendations.
How to test: Add store observations and verify recommendation ranking balances price, quality, freshness, travel/time, and confidence.
Risks: Sparse data can bias rankings unfairly. Show β€œbased on N observations.”
Status: explore.

13.9 Freshness-first market data layer

Category: data / architecture / UI / privacy
Why it matters: Swiggy snapshots are useful but point-in-time. Every price/availability answer should carry source, captured-at timestamp, stale-data warning, and fallback behavior when freshness is insufficient.
How to test: Snapshot fixtures at fresh/stale/expired ages; assert UI and services never present old prices as live.
Risks: Over-warning can reduce usefulness. Use compact timestamp badges.
Status: adopt.

13.10 Local model routing policy by task risk

Category: model stack / architecture / evaluation / privacy
Why it matters: Not every task needs the same model. Deterministic parsers can handle quantity/unit extraction, embeddings can handle alias matching, and larger local planners can handle explanation. Routing reduces latency and improves reliability under the 32B cap.
How to test: Benchmark task families separately: command parse, receipt parse, recommendation explanation, alias match, and trace summarization.
Risks: Too many moving parts. Keep routing explicit and inspectable in Model Stack.
Status: explore.

13.11 Household-specific alias and preference learning

Category: product / dataset / model stack / privacy
Why it matters: Every household has names like β€œred dal,” β€œAmul wala dahi,” β€œkids bread,” β€œbig Surf,” or β€œFriday sabzi.” A local adaptive lexicon can make voice and search feel personal without cloud training.
How to test: Record accepted corrections and rejected matches; assert future parsing improves while preserving auditability.
Risks: Wrong learned aliases can poison memory. Require reversible alias review.
Status: explore.

13.12 Inventory state reconciliation and contradiction detection

Category: data integrity / architecture / UI / evaluation
Why it matters: Household state will drift: items consumed without logging, duplicates, stale lots, impossible negative quantities, expired-but-used items, and contradictory locations. The app needs a cleanup assistant rather than silently accumulating bad memory.
How to test: Seed contradictory databases and assert the assistant proposes safe, confirmable fixes without destructive writes.
Risks: Cleanup flows can feel accusatory or tedious. Make them lightweight: β€œIs this still true?”
Status: explore.

13.13 Trace replay and evaluation harness

Category: evaluation / architecture / model stack / privacy
Why it matters: Existing anonymized traces can become a regression harness: replay planner inputs, compare tool calls, verify redaction, and benchmark model/provider changes before adoption.
How to test: Store golden trace fixtures and assert parser/tool-call outputs remain valid across model/config changes.
Risks: Golden traces can freeze bad behavior. Version them and review failures for intended improvements.
Status: adopt candidate.

13.14 Offline-first backup, restore, and household portability

Category: product / privacy / architecture / operations
Why it matters: Local-first users need safe backup/restore, device transfer, and human-readable exports. Portability already exists; next exploration is reliable restore semantics, conflict handling, and encrypted backups.
How to test: Round-trip realistic households through export/import, including duplicate items, traces, locations, prices, and market snapshots.
Risks: Bad imports can corrupt the source of truth. Use dry-run diff and confirmation before writes.
Status: explore.

13.15 Mobile capture path without losing local-first guarantees

Category: product / UI / architecture / privacy
Why it matters: Fridge scans, market scans, receipt photos, barcode scans, and voice commands are naturally mobile. The Gradio UI is useful for prototype velocity, but the product direction likely needs a mobile capture layer that syncs to local household memory.
How to test: Prototype mobile-friendly capture screens first; later evaluate a native/offline shell or local network companion.
Risks: Mobile sync can break the local-first trust model. Keep explicit sync boundaries and exportable data.
Status: explore.

13.16 Barcode and package knowledge base

Category: product / dataset / vision / UI
Why it matters: Barcodes can reduce ambiguity for packaged goods and enrich inventory with brand, size, category, nutrition, and repeat-purchase memory. A local cache avoids repeated lookups.
How to test: Build local barcode fixtures for common household goods and assert scan β†’ candidate item β†’ confirmation β†’ inventory path.
Risks: Public barcode databases may be incomplete or noisy. Treat lookup as candidate data, not truth.
Status: explore.

13.17 Pantry economics and household budget intelligence

Category: product / commercial / evaluation / UI
Why it matters: ShopStack can become a household operating system for grocery spend: price inflation by item, category budgets, bulk-buy payoff, waste cost, and store choice tradeoffs. This is a strong retention surface beyond reminders.
How to test: Generate monthly fixture data and assert summaries match known spend, savings, waste, and stockout events.
Risks: Budget advice can feel judgmental. Use neutral, practical language.
Status: explore.

13.18 Safety boundaries for food, medicine, and sensitive household data

Category: safety / privacy / product / evaluation
Why it matters: Household inventory can include medicines, baby food, allergens, alcohol, and sensitive routines. The product needs explicit boundaries for advice, logging, redaction, and exports.
How to test: Add fixtures for allergens, expired medicine, baby formula, and personal data; assert conservative warnings and redaction.
Risks: Over-blocking benign grocery flows. Scope warnings to genuinely sensitive categories.
Status: explore β†’ policy.

13.19 β€œWhy this recommendation?” explanation cards

Category: product / UI / evaluation / trust
Why it matters: Users should see the concrete evidence behind decisions: at-home stock, last purchase, expected use rate, price snapshot age, store comparison, expiry/waste signal, and confidence. This improves trust and makes model behavior auditable.
How to test: Snapshot render decision cards for representative buy/skip/use-soon/substitute cases.
Risks: Cards can become verbose. Use progressive disclosure.
Status: adopt candidate.

13.20 Market Intelligence Graph / Market Map

Category: product / data / evaluation / UI
Why it matters: The next unique ShopStack wedge is not a plain price comparator. It is a living household graph that connects what is at home, what the market shows, what is stale, what is overpriced, what is already covered by inventory, what should be substituted, and what is likely to be wasted. This turns ShopCompare + ShopMemory + ShopStock into one decision surface.
How to test: Build fixtures with stale snapshots, sponsored cards, sold-out items, combo packs, partial inventory overlap, and substitution candidates; assert the graph produces stable buy / skip / use-soon / compare / wait / substitute lanes and truth-score labels.
Risks: If the graph reuses retailer language too directly, it can drift back into a shopping ad surface. Keep the default ranking household-first and explicitly label stale or sponsored signals.
Status: adopt candidate.

13.20 Launch story: from inventory app to household commerce memory

Category: marketing / product / positioning
Why it matters: β€œInventory app” sounds like chores. β€œHousehold commerce memory” is more distinctive: it remembers what you have, what you paid, where it is, what spoils, and what to buy next. This framing should guide demos, docs, and feature prioritization.
How to test: Compare landing/demo narratives: inventory tracker vs shopping copilot vs household commerce memory; evaluate which makes the product feel inevitable and differentiated.
Risks: Too abstract for first-time users. Lead with concrete daily workflows, then name the deeper system.
Status: explore.

13.21 Data source expansion map

Category: data / product / privacy / evaluation
Why it matters: Swiggy fresh vegetables is a strong start, but durable market intelligence needs multiple source types: user-entered prices, receipts, quick-commerce snapshots, supermarket invoices, local kirana observations, barcode/package metadata, and seasonal produce calendars.
How to test: Define a normalized source contract and fixture each source type into PriceObservation/MarketSnapshot without UI assumptions.
Risks: Scraping or terms-of-service risk for live platforms. Prefer user-provided exports/snapshots and explicit provenance.
Status: explore.

13.22 Operator/developer diagnostics tab

Category: operations / UI / architecture / evaluation
Why it matters: Local-first apps need inspectability: DB path, provider mode, model availability, snapshot freshness, trace counts, redaction status, and recent errors. A diagnostics view makes failures understandable without cloud logs.
How to test: Mock provider/model/data states and assert the diagnostics view surfaces actionable status.
Risks: Too much internal detail in user UI. Gate as β€œDiagnostics” or β€œLocal system status.”
Status: explore.

13.23 Evaluation leaderboard for small local household models

Category: model stack / evaluation / sponsor / marketing
Why it matters: The project can produce a reusable benchmark for local household agents: Hinglish command parsing, tool-call JSON validity, receipt extraction, alias matching, and recommendation explanation. This supports model choice and gives the project external credibility.
How to test: Build a small, versioned eval dataset from synthetic + anonymized traces; run candidate local models with latency, validity, and correction metrics.
Risks: Public benchmark data must not leak household details. Keep anonymization and synthetic generation strict.
Status: explore.

13.24 Human correction as the primary learning loop

Category: product / dataset / model stack / UI
Why it matters: The fastest path to a trustworthy household agent is not autonomous action; it is fast correction capture. Every β€œno, this is onions,” β€œskip this brand,” or β€œwe call this atta” should improve future behavior locally.
How to test: Build correction fixtures and assert corrections update aliases/preferences/traces without mutating unrelated history.
Risks: Correction UI can interrupt flow. Offer one-tap corrections at decision points.
Status: explore.

13.25 Household graph model

Category: architecture / data / product
Why it matters: Items, lots, locations, stores, brands, prices, household members, preferences, recipes, and traces form a graph. SQLite can still store this, but a graph-shaped mental model helps avoid one-off tables and clarifies future recommendations.
How to test: Draw core relationships and map them to current tables; identify missing edges such as item↔alias, item↔substitute, store↔quality, member↔preference.
Risks: Premature graph infrastructure. Keep SQLite; use the graph as domain design, not necessarily a graph database.
Status: explore.

13.26 Market graph-to-basket compare actions

Category: product / UI / architecture / evaluation
Why it matters: The Market Intelligence Graph should not stay isolated. Compare lanes need direct β€œcompare with home” and β€œcompare with memory” actions so the graph can feed the shopping list and basket workflow, not just display intelligence.
How to test: Build compare-lane fixtures with partial inventory overlap and assert the compare view can expose the graph explanation, truth score, and next action.
Risks: Too much duplication between compare panels and the graph view. Keep the compare panel as a compact pointer into the graph rather than a second full graph UI.
Status: explore.

13.27 Market sponsored/stale de-emphasis policy

Category: product / safety / UI / evaluation
Why it matters: Sponsored and stale cards should be visually quieter and rank lower, but still remain inspectable. This is a trust and anti-manipulation policy, not a hard block.
How to test: Render fixtures with stale, sponsored, and upgrade-tagged items and verify they are visibly muted while their data remains accessible.
Risks: If the de-emphasis is too aggressive, legitimate deals get buried. Tune the signal carefully.
Status: explore.

13.28 Signal drill-down cards

Category: product / UI / trust / evaluation
Why it matters: Each market decision should explain itself with a compact breakdown of freshness, availability, sizing confidence, price confidence, memory confidence, and penalties. This makes the Market Intelligence Graph feel inspectable rather than magical.
How to test: Render representative buy/compare/substitute cards and assert the signal breakdown is present behind a progressive-disclosure control.
Risks: Too much detail can overwhelm the user. Keep the breakdown collapsed by default.
Status: explore.

13.29 Compare-to-basket bridge

Category: product / architecture / UI / evaluation
Why it matters: Compare-lane items should be able to flow into the shopping list, basket summary, or substitute confirmation with one clear step. This turns market intelligence into action rather than a dead-end display.
How to test: Build compare fixtures with home overlap and verify the next action can point to basket, pantry, or substitute confirmation without duplicating list state.
Risks: Action shortcuts can over-automate. Keep the bridge explicit and confirmable.
Status: explore.

13.30 Graph substrate projections

Category: architecture / product / evaluation
Why it matters: The Market Intelligence Graph should be the canonical substrate, with Today, Unified Shopping, Market Lens, and Ask ShopStack acting as projections over the same decision state. That keeps recommendations consistent across surfaces and makes graph reasoning reusable.
How to test: Build one graph fixture and project it into Today, unified shopping, market lens, and ask-context views; assert the same canonical item lands in the same lane and next action family.
Risks: Projection helpers can become another layer of indirection if they duplicate logic. Keep them thin wrappers over the canonical graph.
Status: explore.

13.31 Structured evidence and reason atoms

Category: data / trust / evaluation / product
Why it matters: Natural-language reasons are useful, but the graph needs structured reason atoms and evidence claims so traces, UI drill-downs, and corrections can all point at the same underlying facts.
How to test: Render a fixture graph and assert each decision cluster carries reason atoms, claim types, and a breakdown that can be serialized losslessly.
Risks: Over-structuring can produce ceremony without value. Keep the atom vocabulary small and readable.
Status: explore.

13.32 Combo solver and substitution ranker

Category: product / architecture / evaluation
Why it matters: Combos are where household intelligence beats a store page. A combo should be compared against home overlap and split purchase candidates, while substitutions should rank by cooking role, availability, freshness, and preference.
How to test: Use fixtures like onion/potato/tomato, herb bundles, and sold-out premium variants; assert the solver chooses compare/skip/buy-separate and the substitute ranking prefers the closest usable alternative.
Risks: Over-fancy ranking can confuse users if it is not explainable. Always show the reason for the ranking.
Status: explore.

13.33 Decision run memory loop

Category: product / data / evaluation
Why it matters: The graph becomes much more valuable once the app remembers what the household did after the recommendation: bought, skipped, substituted, or corrected. This turns one-off advice into learning.
How to test: Feed reconciliation events back into the graph and verify the next run uses the updated memory and preference signals.
Risks: If the feedback loop is too aggressive, noisy corrections can distort the model. Keep manual correction explicit.
Status: explore.

13.34 Frontier HF sweep and benchmark journal

Category: model stack / evaluation / documentation
Why it matters: The repo now has a fresh live Hugging Face frontier sweep in addition to the older local benchmarks. We should keep the frontier shortlist current without confusing it with the stable local runtime truth.
How to test: Run the reusable frontier harness in tools/model_lab_frontier.py, compare the saved JSONL/markdown artifacts, and keep the sweep notes synchronized with shopstack/model_registry.py and Docs/MODEL_CATALOG.md.
Recent findings:

  • Qwen/Qwen3.5-9B scored 40.0% on the production-style planner prompt suite.
  • Qwen/Qwen3.6-35B-A3B scored 20.0% but remained fast on HF inference.
  • Live HF checks also surfaced Qwen/Qwen3-ASR-0.6B, Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice, Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign, openbmb/MiniCPM-V-4.6, deepseek-ai/DeepSeek-OCR-2, PaddlePaddle/PaddleOCR-VL-1.6, and briaai/RMBG-2.0 as current frontier candidates.
    Artifacts: benchmarks/model_lab/results/frontier_planner_20260613_113615.jsonl, benchmarks/model_lab/results/frontier_planner_20260613_113615.md, Docs/audits/MODEL_FRONTIER_SWEEP_2026-06-13.md.
    Status: adopt candidate.

13.35 Modal benchmark governance and GPU budgeting

Category: evaluation / infra / documentation
Why it matters: The Modal sweeps are intentionally parallel per candidate, but that only stays useful if the suite launches are budgeted together. The current plan-limit warning is a sign to sequence the sweeps, not to stop benchmarking.
How to test: Track the GPU count per suite, confirm the harness uses isolated per-candidate workers, and rerun one suite at a time until the artifact is written successfully. For STT, OCR, planner, vision, and TTS, record the result file path and the worker count in the run note.
Risks: Running planner + OCR + vision + STT sweeps concurrently can saturate the Modal workspace limit and produce stalled or wasted GPU time.
Status: adopt candidate.


14. Explorer Priority Cut (2026-06-06)

If only five exploration threads get near-term attention, choose these:

  1. Decision service extraction β€” unlocks testability and keeps UI thin.
  2. Freshness-first market data layer β€” prevents stale prices from becoming fake truth.
  3. Post-shopping reconciliation β€” closes the core product loop.
  4. Trace replay/eval harness β€” makes local model/provider changes safe.
  5. Human correction learning loop β€” turns daily use into compounding household intelligence.

Last updated: 2026-06-06


15. Priority Addendum β€” Architecture Foundation + Visible User Loop (2026-06-06)

Context: Follow-up prioritization pass after reviewing the explorer backlog. This refines the earlier priority cut by separating architecture foundation from the visible user loop. The key adjustment is pulling confidence-calibrated recommendation cards earlier because they make the product’s trust model visible to users.

Revised priority order

  1. Service / decision extraction

    • Why: This remains the foundation. ShopStack’s brain should live in typed services, not scattered Gradio callbacks.
    • Scope: inventory state, market candidates, recommendation decisions, trace building, correction handling, reconciliation.
    • Reason to do first: if freshness, reconciliation, cards, and learning are built inside UI handlers, they will need to be rewritten for mobile/API/agent surfaces.
  2. Freshness + provenance market data model

    • Why: Swiggy and future market snapshots are useful but time-sensitive. Recommendations must never imply stale snapshot data is live inventory.
    • Target market datum shape:
      source = swiggy_instamart
      captured_at = 2026-06-06
      location/context = snapshot/browser/page context if known
      freshness_state = fresh / aging / stale / expired
      availability_state = available / sold_out / unknown
      confidence = high / medium / low
      
    • Reason to do second: bad market truth destroys user trust faster than missing features.
  3. Confidence-calibrated recommendation cards

    • Why: This is the first visible β€œthis is smarter than a grocery list” surface.
    • Desired output style:
      Buy Onion β€” β‚Ή31/kg from Swiggy snapshot, available at capture time,
      common staple, likely useful if home stock is low. Medium confidence
      because current availability may have changed.
      
    • Reason to do third: it turns backend correctness into visible product trust.
  4. Post-shopping reconciliation

    • Why: This closes the real household loop: planned β†’ bought β†’ skipped β†’ substituted β†’ already had β†’ price changed.
    • Examples:
      Bought: onion, tomato, potato
      Skipped: cauliflower
      Substituted: hybrid tomato instead of Indian tomato
      Already had: carrot
      Price changed: onion was β‚Ή34 not β‚Ή31
      
    • Reason to do fourth: without reconciliation, inventory decays and ShopStack becomes a one-time planner instead of household memory.
  5. Human correction learning loop

    • Why: Corrections become local durable preferences and aliases.
    • Examples:
      β€œatta” = wheat flour
      Prefer Indian tomato over hybrid tomato
      Avoid expensive premium/chemical-free variants unless requested
      Don’t recommend sold-out items
      Usually keep onion/potato/tomato stocked
      
    • Reason to do fifth: this makes ShopStack personal without cloud training.
  6. Trace replay / evaluation harness

    • Why: Critical for model/provider/parser experimentation, but most meaningful after the first complete decision loop exists.
    • Replay contract:
      inventory state + market snapshot + user intent
        β†’ planner decision
        β†’ recommendation cards
        β†’ expected trace
        β†’ expected user-facing output
      
    • Reason to do sixth: evaluation should protect real product behavior, not incomplete scaffolding.
  7. Receipt / invoice / order ingestion

    • Why: High-leverage ingestion path, but it should feed an already-solid purchase/reconciliation model.
    • Output targets: purchase_event, price_observation, inventory_delta, merchant_history, brand preference, quantity normalization.
    • Reason to do later: ingestion without a solid reconciliation model creates messy data faster.
  8. Inventory contradiction cleanup / Household Memory Health

    • Why: Long-term reliability layer for stale lots, duplicate items, impossible quantities, and old produce.
    • Examples:
      You marked tomatoes bought 9 days ago. Still have them?
      You usually consume coriander within 2 days. Remove from inventory?
      You said you already had carrots, but also bought 500g today. Merge?
      
    • Reason to do last among this cut: it becomes valuable once enough real usage data exists.

Build sequence

services β†’ provenance β†’ recommendation cards β†’ reconciliation β†’ corrections β†’ trace replay β†’ ingestion β†’ memory health

Product thesis

ShopStack’s core magic should be:

It knows what I have, knows what the market snapshot says, admits uncertainty, recommends clearly, then learns from what actually happened.

This sequence preserves clean internal architecture while quickly creating a visible user-facing reason to believe ShopStack is more than a grocery list.

Last updated: 2026-06-06


11. Feature Audit + Implementation Delegation Map (2026-06-07)

Context

Pranay wants the full feature backlog implemented, but not by this agent. This section is a durable implementation map for future agents: what to build, why it matters, likely module ownership, and the local/open model + library stack that can support each feature while preserving the active constraint that simultaneously loaded models must stay at ≀32B total parameters.

This is documentation-first. Future implementers should turn each feature cluster into focused tickets/PRs, use existing canonical modules, avoid duplicate routes/parallel systems, and keep core behavior local-first. Connected/cloud modes may exist only as optional, explicitly labeled modes.

Research anchors checked

  • Hugging Face OCR open-model guide, 2025-10-21: documents modern open OCR/VLM models and local tooling; notable ≀32B candidates include PaddleOCR-VL (0.9B), Granite-Docling-258M, dots.ocr (3B), DeepSeek-OCR (3B), OlmOCR-2 (8B), Chandra (9B), Qwen3-VL (9B), and Nanonets-OCR2 (~3-4B depending card/source wording). It also calls out MLX-VLM for Apple Silicon and vLLM/SGLang for batch/served OCR.
  • SenseVoice repository: SenseVoice-Small is open-source, multilingual, low-latency ASR with speech understanding capabilities.
  • Qwen3-32B model card: Qwen3-32B is Apache-2.0, 32.8B total / 31.2B non-embedding; this is at/just over the project’s 32B cap depending counting method, so treat it as a boundary-case candidate requiring explicit budget accounting before activation.
  • Current grocery app market scan: competitive apps emphasize real-time shared lists, smart autocomplete, price estimates, receipt scanning, item-level spending analytics, plan-vs-actual comparison, pantry tracking, offline mode, and recipe-to-list flows. ShopStack’s differentiator should be local household memory + price/inventory/trace intelligence, not another checklist.

Implementation rule for future agents

Build these through existing canonical boundaries:

shopstack/services/*          product logic and typed workflows
shopstack/persistence/*       durable local state
shopstack/schemas/models.py   domain contracts
shopstack/providers/*         model/provider adapters
shopstack/tools/registry.py   validated mutation/query tools
shopstack/ui/screens/*        Gradio adapters only
shopstack/traces/*            redaction/export primitives
shopstack/market/*            market normalization/analytics/sources

Do not add a second app, second database, second trace pipeline, or route-like duplicate surface. Extend the existing service/provider/tool architecture.


11.1 P0 β€” make the current product feel real

F-001 Receipt ingestion β†’ inventory + price memory

Build: Upload/photo receipt ingestion that extracts merchant/date/line items/quantities/prices/totals and proposes confirmable purchase events, inventory lots, and price observations.

Why: This closes the highest-leverage data loop. Receipt apps prove demand for item-level spend analytics; ShopStack can go further by updating home stock and future shopping decisions locally.

Likely owners: shopstack/services/receipt.py, shopstack/providers/interfaces.py, shopstack/providers/*ocr*, shopstack/persistence/database.py, shopstack/ui/screens/market_lens.py or a new canonical tab only if module registry is extended deliberately.

Local/open model candidates ≀32B:

Candidate Params Fit Notes
PaddlePaddle/PaddleOCR-VL ~0.9B primary OCR/document parser Multilingual, outputs Markdown/JSON/HTML; strong first test for receipts and packet labels.
ibm-granite/granite-docling-258M 0.258B lightweight document extraction Very small; good CPU/Mac candidate for structured receipt/label extraction experiments.
rednote-hilab/dots.ocr ~3B OCR VLM Markdown/JSON, grounding, handwriting; promising for messy receipts.
deepseek-ai/DeepSeek-OCR ~3B OCR + general visual understanding Multilingual; good fallback candidate.
allenai/olmOCR-2-7B-1025 ~8B high-quality document OCR English-first; use for benchmark/comparison, not necessarily Indian receipt default.
datalab-to/chandra ~9B document OCR Strong score, OpenRAIL; verify license before commercial claims.
Qwen/Qwen3-VL-* small variants ~2B/4B/8-9B depending variant general VLM + OCR Useful if one VLM handles receipt, shelf, packet, and explanation flows.

Libraries/packages: paddleocr, pytesseract/Tesseract, surya-ocr, marker-pdf, docling, doctr, opencv-python, pillow, pydantic, rapidfuzz, dateparser, price-parser, babel, pandas.

Acceptance: No database writes happen until the user confirms extracted rows. Every proposed write is trace-backed and redacted export-safe.

F-002 Plan-vs-actual shopping review

Build: Compare planned shopping list against actual receipt/manual purchases: bought, forgot, substituted, impulse-bought, overpaid, already-had, price changed.

Why: This is a competitor-visible differentiator and creates memory quality. Current grocery-list competitors highlight planned-vs-actual receipt comparison; ShopStack should connect that to inventory and future decisions.

Likely owners: shopstack/services/reconciliation.py, shopstack/services/shopping.py, shopstack/persistence/database.py, shopstack/ui/screens/shopping.py.

Model/library candidates: Rule-first with rapidfuzz + embeddings (BAAI/bge-m3, intfloat/multilingual-e5-small/base, sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2). Optional LLM arbitration with current 3B planner or Qwen2.5/3 3B-8B Instruct.

Acceptance: Reconciliation must preserve both user intent and actual purchase evidence; do not silently merge ambiguous items.

F-003 Trace service boundary

Build: Move trace bundle/export composition behind shopstack/services/trace.py, while keeping low-level redaction/export in shopstack/traces/export.py.

Why: Traces are core product trust, hackathon evidence, and evaluation substrate. They should not remain screen-local composition logic.

Likely owners: shopstack/services/trace.py, shopstack/ui/screens/traces.py, shopstack/traces/export.py.

Model/library candidates: No model required. Use typed Pydantic view models and deterministic JSONL export.

Acceptance: Existing trace UI behavior preserved; service can be unit-tested without Gradio.

F-004 Real local provider dogfood path

Build: A verified flow where at least one real local model path performs user input β†’ perception/parser β†’ validated tool call β†’ trace β†’ UI output.

Why: Provider interfaces exist, but product credibility requires a real, repeatable local model demo beyond mock providers.

Likely owners: shopstack/providers/registry.py, shopstack/providers/local_provider.py, shopstack/planner/engine.py, shopstack/ui/screens/model_stack.py.

Local/open model candidates ≀32B:

Role Candidate Params Notes
Planner/parser current Llama-3.2-3B-Instruct-Q4_K_M.gguf 3B Already downloaded/tested.
Planner/parser Qwen/Qwen2.5-7B-Instruct or Qwen/Qwen3-8B 7-8B Strong structured output/tool-call candidate.
Planner/parser mistralai/Mistral-Small-3.2-24B-Instruct GGUF 24B Strong single-model reasoning under cap if no big VLM loaded concurrently.
Edge parser HuggingFaceTB/SmolLM3-3B 3B Good small parser candidate if tool JSON is reliable.
Boundary max Qwen/Qwen3-32B 31.2B non-embedding / 32.8B total Use only with explicit budget policy; leaves no room for other loaded models.

Libraries/packages: llama-cpp-python, mlx-lm, mlx-vlm, transformers, accelerate, bitsandbytes where supported, outlines, guidance, instructor, jsonschema, pydantic.

Acceptance: Model Stack tab shows exact backend/model/params, and traces identify model/provider used.

F-005 Empty-state and honesty polish

Build: Make empty charts/tables, mock perception, stale snapshots, and unavailable providers explicit and visually consistent.

Why: Trust is damaged faster by fake-looking output than by missing features.

Model/library candidates: No model required.

Acceptance: No chart/table renders as a broken blank shell when data is empty; mock/stale/preview mode is labeled wherever it affects decisions.


11.2 P1 β€” product intelligence features

F-006 Household-specific item aliases and canonicalization

Build: Local alias memory for β€œdahi/curd/yogurt,” β€œSurf,” β€œVim,” β€œpav,” β€œatta,” etc. Add correction capture and confidence.

Models/libraries: rapidfuzz, textdistance, sqlite-vec or sqlite-vss, BAAI/bge-m3 (0.6B), multilingual E5, MiniLM, sentence-transformers, optional local LLM parser (Qwen3-4B/8B, current Llama 3B).

Acceptance: Corrections persist and influence future shopping, receipt, and market matching.

F-007 Purchase cadence + stockout forecast

Build: Days-until-stockout and restock interval predictions using local history.

Models/libraries: Start deterministic: SQLite queries, pandas, numpy, statsmodels, simple exponential smoothing. Optional later: sktime, statsforecast, prophet-like alternatives.

Acceptance: Recommendations include confidence language: β€œlikely low,” β€œuncertain,” not false precision.

F-008 Waste / overbuy detection

Build: Detect old active lots, duplicate purchases, unused perishables, and recurring waste patterns.

Models/libraries: Rule-first with shopstack/decisions.py; optional embeddings for item equivalence.

Acceptance: User can confirm cleanup/merge/consume; no automatic deletion.

F-009 Store memory

Build: Store entities with type, quality/freshness/price/trust/convenience scores, notes, and item-store edges.

Models/libraries: No model required initially. Later embeddings for store-note retrieval.

Acceptance: Store memory feeds β€œwhere should I buy?” and price intelligence surfaces.

F-010 Price fairness bands

Build: For scanned/manual price: compare against household memory and source snapshots; classify fair/high/low/unknown.

Models/libraries: pandas, rolling averages, robust median/IQR, unit normalization already in shopstack/market/normalization.py.

Acceptance: Always show source and freshness: household observation vs Swiggy snapshot vs manual entry.

F-011 Budget-aware list planning

Build: Estimate list total, compare against target budget, downgrade optional items, show β€œmust buy / optional / wait” budget plan.

Models/libraries: Deterministic first; optional planner LLM for explanation only.

Acceptance: No hidden price assumptions; every estimate has source/freshness.

F-012 Substitutes and staples

Build: Item relationships: substitutes, usually-bought-with, staples, recipe-use groups.

Models/libraries: SQLite edge table, networkx for analysis if useful, embeddings for semantic substitute suggestions, optional small LLM for candidate generation.

Acceptance: Generated substitutes must be confirmable before becoming durable household rules.


11.3 P2 β€” ShopLens expansion

F-013 Packet label close-up mode

Build: OCR MRP, expiry, quantity, brand, nutrition/storage text from packet labels.

Models: PaddleOCR-VL, Granite-Docling, dots.ocr, DeepSeek-OCR, Qwen3-VL small, MiniCPM-V.

Libraries: opencv-python preprocessing, pillow, dateparser, pydantic validators.

F-014 Barcode catalog memory

Build: First scan creates barcode β†’ item mapping; later scans resolve instantly.

Libraries: Existing shopstack/scanner.py; add/compare pyzbar, zxing-cpp, opencv, JS html5-qrcode, quagga2, zxing-js/browser.

Acceptance: Barcode mappings are user-correctable and local.

F-015 Fridge/pantry photo snapshot

Build: Save visual snapshots and confirmed item detections per household location.

Models: YOLOv8/YOLO11, RF-DETR, GroundingDINO/MM-GroundingDINO, OWL-ViT, Florence-2, MiniCPM-V, Qwen3-VL small.

Current grounding note (2026-06-15): the real-photo household grounding benchmark now exists with three imagegen-created scenes (fridge, cupboard, tabletop). GroundingDINO reached 0.2042 mean box IoU / 0.3333 success after provider fixes; Qwen3-VL stayed helper-only at 0.0136 mean box IoU.

Libraries: ultralytics, rfdetr, transformers, supervision, opencv-python, faiss/sqlite-vec for image-snapshot matching.

F-016 Shelf/location recommendations

Build: Recommend storage location based on category/perishability/history.

Models/libraries: Rule-first from category metadata; optional classifier/LLM for ambiguous items.

F-017 Home Scan scene understanding

Build: A broader ShopLens Home Scan that understands kitchen, bathroom, medicine, cleaning, bedroom, and document scenes; count visible items, read labels/expiry, accept local-language voice corrections, and propose safe inventory updates.

Models: Object detection + segmentation + OCR + STT first, then VLM scene summarization and multilingual correction parsing.

Libraries: Existing provider interfaces (object_detection, segmentation, ocr, stt, image_edit), opencv-python, pydantic, dateparser, optional VLM backends for frame captioning and cross-frame consolidation.

Current implementation note (2026-06-14): Shelf Scan now accepts a short video sweep, extracts multiple frames locally, merges repeated detections into one household-memory result, and uses the real OCR pipeline instead of the old mock-style compatibility fallback. The still-photo path remains intact.

Current grounding note (2026-06-15): generated fridge/cupboard/table photos are now saved under benchmarks/modal/assets/household_grounding and used in the dedicated grounding benchmark harness (benchmarks/modal/bench_grounding_v1.py).

Acceptance: Shelf scans stay confirmation-first, can be zone-aware, can merge short video sweeps, and update household memory without assuming the home is only pantry/fridge.

F-017 Batch confirmation UI

Build: Show proposed structured actions from OCR/image/list parsing and let user accept/edit/reject before writes.

Models/libraries: Pydantic action schemas, Gradio DataFrame/editable components, trace service.


11.4 P3 β€” market and context intelligence

F-018 Multi-source retailer adapters

Build: Add a common adapter interface for Blinkit, Zepto, BigBasket, local CSV/manual imports, and future connected sources.

Libraries: pydantic, pandas, duckdb, httpx only in connected mode, Playwright/browser automation only if explicitly allowed.

Acceptance: Every source record carries source, captured_at, freshness, confidence, and terms/collection notes.

F-019 Basket-level retailer choice

Build: Compare basket total across sources and split basket if savings justify it.

Libraries: pandas, scipy/simple optimization, existing shopstack/market/basket.py.

F-020 Travel-effort decision

Build: Manual-first trip effort model; optional route engines later.

Libraries: osmnx, networkx, OSRM/OpenRouteService/Valhalla only as optional connected mode; geopy, h3 for coarse privacy cells.

F-021 Weather-aware shopping note

Build: Manual/mock weather context; optional weather lookup later.

Libraries: meteostat, Open-Meteo client in connected mode, local config/manual input in Off the Grid.

F-022 Private price heatmap

Build: Coarse local price cells with minimum observation counts.

Libraries: h3, folium or deterministic SVG/HTML cards; avoid exact home/route exposure in traces.


11.5 P4 β€” launch, evaluation, and hackathon assets

F-023 Walkthrough mode

Build: Guided demo story: ask what to buy β†’ scan item β†’ skip duplicate β†’ add purchase β†’ export trace.

Models: Use the smallest reliable active stack: current 3B planner + mock/real OCR path as available.

F-024 Public redacted trace dataset

Build: Curated anonymized JSONL trace examples and dataset card.

Libraries: existing redaction + datasets library for HF publishing.

F-025 Field Notes report generator

Build: Generate polished build report from traces, model stack, decisions, failures, and screenshots/outputs.

Models: Local LLM optional for drafting, but factual claims must come from deterministic trace/model metadata.

F-026 Well-Tuned narrow model

Build: Fine-tune a small command/entity parser for Hinglish grocery commands and publish it.

Base candidates ≀32B: Qwen2.5-1.5B/3B-Instruct, Qwen3-1.7B/4B, SmolLM3-3B, MiniCPM5-1B, current Llama 3B if license permits desired artifact.

Libraries: trl, peft, unsloth, axolotl, datasets, evaluate, jsonschema, pydantic.

Dataset: Indian/Hinglish household command parser dataset with tool-call JSON labels.

F-027 README / HF Space launch checklist

Build: Launch checklist covering privacy, local-first, model budget, data freshness, demo flow, trace dataset, licenses, and known limitations.

Models: None required.


12. Local/Open Model and Library Selection Matrix (≀32B constraint)

12.1 Recommended active-stack scenarios

The cap is about simultaneously loaded active models, not every candidate in the repo. Future agents should declare one active scenario before implementation/testing.

Scenario Active models Approx params Use when
Minimal reliable Llama 3.2 3B planner + BGE-M3 embeddings + Kokoro TTS optional ~3.7B Current local-first baseline, fast demos.
Receipt-first PaddleOCR-VL 0.9B + Llama 3B planner + BGE-M3 ~4.5B Receipt/packet extraction with structured reconciliation.
Vision-heavy MiniCPM-V 8B or Qwen3-VL 8-9B + Llama 3B + BGE-M3 ~12-13B Market Lens, shelf/fridge photos, OCR fallback.
Strong planner Mistral Small 24B GGUF + lightweight OCR 0.9B + BGE-M3 ~25.5B Harder reasoning, still under cap if no large VLM.
Boundary single-brain Qwen3-32B alone 31.2B non-embedding / 32.8B total Only if project explicitly accepts counting method and gives up simultaneous specialist models.
Full practical multimodal Qwen3-VL 9B + Qwen/Llama planner 7-8B + SenseVoice 0.2B + Kokoro 0.082B + BGE-M3 0.6B + segmentation 0.3B ~18-19B Rich local multimodal stack under cap.

12.2 Capability-by-capability candidate shortlist

Capability Best first candidate Strong alternatives Libraries/runtime
Planner/tool JSON current Llama 3B GGUF Qwen3 4B/8B, Qwen2.5 7B, Mistral Small 24B llama-cpp-python, mlx-lm, transformers, outlines, instructor
Receipt OCR PaddleOCR-VL Granite-Docling, dots.ocr, DeepSeek-OCR, OlmOCR-2 paddleocr, mlx-vlm, vllm, sglang, docling, marker
Packet label OCR PaddleOCR-VL dots.ocr, Qwen3-VL, MiniCPM-V opencv-python, dateparser, OCR/VLM runtime
General VLM MiniCPM-V or Qwen3-VL small Florence-2, SmolVLM variants transformers, mlx-vlm
Object detection YOLO11/YOLOv8 RF-DETR, GroundingDINO, OWL-ViT ultralytics, rfdetr, supervision, opencv-python
Segmentation/cards RMBG-1.4 BiRefNet, SAM variants, ClipSeg transformers, opencv-python, pillow
ASR SenseVoice-Small Parakeet 0.6B/V3, Distil-Whisper, Whisper large-v3-turbo funasr, faster-whisper, mlx-audio, transformers
TTS Kokoro-82M Qwen3-TTS 0.6B, CosyVoice, Piper, KittenTTS kokoro, piper-tts, onnxruntime, mlx-audio
Embeddings BGE-M3 multilingual E5, MiniLM, Jina embeddings sentence-transformers, faiss-cpu, sqlite-vec, lancedb, chromadb
Reranking BGE reranker small/base Jina reranker small sentence-transformers, FlagEmbedding
Time series deterministic stats statsmodels/sktime/statsforecast pandas, numpy, statsmodels, sktime
Route/geo optional manual + H3 OSRM/OpenRouteService/Valhalla h3, osmnx, networkx, geopy, folium
Barcode existing scanner + pyzbar zxing-cpp, html5-qrcode, Quagga2, ZXing JS pyzbar, zxing-cpp, opencv, JS browser libs

12.3 Specific model notes for future benchmarking

  • PaddleOCR-VL (~0.9B): highest-priority OCR test because it is small, multilingual, and supports JSON/Markdown/HTML-style structured output. Best first model for receipts and packet labels.
  • Granite-Docling-258M: extremely small document-understanding candidate. Best for CPU/Mac fallback and quick tests.
  • dots.ocr (~3B): good OCR VLM candidate for Markdown/JSON and grounding. Test on messy local receipts.
  • DeepSeek-OCR (~3B): useful for OCR + general visual understanding; test on labels and screenshots.
  • OlmOCR-2 (~8B): strong document OCR but English-oriented; use as benchmark/reference more than default Indian household model.
  • Chandra (~9B): strong document OCR, but verify OpenRAIL restrictions before product claims.
  • Qwen3-VL small family (~2B-9B variants): promising single VLM for OCR, packet labels, shelf images, and explanation. Confirm exact chosen variant params/license before activation.
  • MiniCPM-V (~8B): strong general VLM candidate and sponsor-aligned with OpenBMB angle.
  • SenseVoice-Small (~Whisper-small class): strong ASR candidate for fast multilingual speech understanding. Benchmark Hinglish grocery phrases.
  • Parakeet 0.6B/V3: very fast ASR candidate; confirm language coverage for Hindi/Hinglish before relying on it.
  • Kokoro-82M: excellent tiny local TTS baseline. Use for short, warm household answers if pronunciation is acceptable.
  • Qwen3-TTS 0.6B / CosyVoice: better voice quality candidates; benchmark latency and Hindi/Hinglish pronunciation.
  • BGE-M3 (0.6B): already aligned with workspace embedding use; use for aliases, trace retrieval, and household memory search.
  • Qwen3-32B: boundary case. It is useful as a β€œsingle strong brain” experiment but total params are listed as 32.8B and non-embedding 31.2B. Do not activate without updating the budget rule/counter and documenting whether total or non-embedding params are counted.

12.4 Non-model libraries that can implement much of the backlog

Many features should be deterministic first:

  • Parsing and validation: pydantic, jsonschema, dateparser, price-parser, babel, python-slugify.
  • Matching/canonicalization: rapidfuzz, textdistance, unidecode, regex, sentence-transformers.
  • Analytics/time series: pandas, numpy, duckdb, statsmodels, sktime, statsforecast.
  • Vector/local memory: sqlite-vec, sqlite-vss, faiss-cpu, lancedb, chromadb.
  • Vision preprocessing: opencv-python, pillow, scikit-image, imagehash.
  • OCR baselines: pytesseract, paddleocr, surya-ocr, docling, marker-pdf, doctr.
  • Barcode: pyzbar, zxing-cpp, browser html5-qrcode, quagga2, @zxing/browser.
  • Maps/geo: h3, geopy, osmnx, networkx, folium for optional map experiments.
  • Voice pipeline: funasr, faster-whisper, piper-tts, kokoro, onnxruntime, mlx-audio, pipecat for a more advanced local voice loop.
  • Model serving: llama-cpp-python, mlx-lm, mlx-vlm, transformers, vllm, sglang, ollama as optional local dev runtime.
  • Constrained outputs: outlines, guidance, instructor, lm-format-enforcer.
  • Training/fine-tuning: datasets, peft, trl, unsloth, axolotl, evaluate.

12.5 Implementation sequencing recommendation

Future agents should implement in this order:

1. Trace service boundary
2. Receipt extraction proposal schema, no writes
3. Receipt confirmation β†’ purchase/price/inventory writes
4. Plan-vs-actual reconciliation
5. Alias/canonicalization correction loop
6. Price fairness + budget-aware list planning
7. Packet label mode + barcode catalog memory
8. Fridge/pantry snapshot and storage recommendations
9. Store memory + basket-level retailer choice
10. Trace replay/eval harness + public redacted trace dataset
11. Fine-tuned narrow command parser
12. Optional travel/weather/heatmap intelligence

This order protects data integrity first, then adds intelligence, then expands perception/context. It also gives a future non-this-agent implementation team clean seams for independent work.

Last updated: 2026-06-07


13. Fresh HF / 2026 Model Launch Addendum (2026-06-07)

Why this addendum exists

Pranay challenged whether the previous model scan was fresh enough. That challenge was valid. The first pass covered strong late-2025 OCR/VLM candidates, but it underweighted newer/open launches and HF ecosystem updates relevant to ShopStack, especially omni-modal, realtime speech, multimodal embeddings/rerankers, and HF Pro/Jobs workflows.

This section supersedes the older shortlist where it is more specific. Keep the older section as historical context, but future agents should check this addendum first when choosing models.

Fresh research anchors checked

  • Qwen3-Omni-30B-A3B-Instruct / Thinking / Captioner model cards and GitHub: Apache-2.0, omni-modal, text/image/audio/video input, text/speech output, 119 text languages, 19 speech-input languages, 10 speech-output languages, real-time streaming; 30B MoE with ~3B active parameters. Strong candidate for a single multimodal β€œone brain does a lot” experiment, but likely heavy operationally.
  • Mistral Voxtral Mini 4B Realtime 2602 model card: Apache-2.0, multilingual realtime ASR, 4B params, <500ms delay target, 13 languages, designed for on-device/minimal hardware compared with heavier speech stacks.
  • Hugging Face OCR open-model guide + community comments: added/flagged models not previously emphasized enough: opendatalab/MinerU2.5-2509-1.2B, lightonai/LightOnOCR-1B-1025, tencent/POINTS-Reader, Logics-MLLM/Logics-Parsing, SmolDocling-256M-preview, RolmOCR-7B, Typhoon-OCR-7B, MonkeyOCR-Recognition.
  • Hugging Face multimodal Sentence Transformers v5.4 blog (2026-04): new multimodal embedding/reranker support for text/images/audio/video. Qwen/Qwen3-VL-Embedding-2B is explicitly shown and needs ~8GB VRAM; 8B variants need ~20GB. This matters for shelf image retrieval, receipt visual retrieval, and trace/memory search.
  • HF Jobs pricing/docs: Jobs can run batch compute on HF infrastructure when the account has positive credit balance; billed by minute while starting/running. This fits Pranay’s HF Pro/credits for benchmarking and batch OCR experiments without adding cloud dependency to the Off-the-Grid runtime.
  • vLLM-Omni speech API docs: supports serving Qwen3-TTS, Fish Speech, Voxtral TTS, CosyVoice3, OmniVoice, VoxCPM2, MOSS-TTS-Nano, Qwen3-Omni and related omni/audio models via OpenAI-style APIs. Useful for benchmark rigs and optional connected/dev mode.
  • Aya Vision 8B/32B: multilingual VLM family from CohereForAI. 8B is relevant for multilingual image/text tasks; 32B is boundary/too tight for simultaneous loaded stack and should be treated carefully.
  • SmolVLM / SmolVLM2 family: tiny VLMs (256M/500M/2.2B class) useful for on-device-ish image caption/doc QA/video-lite experiments, not likely enough for robust receipt extraction alone but excellent baseline/performance fallback.

13.1 Updated β€œnewer launch” candidates for ShopStack

Omni / single-model-does-a-lot candidates

Model Params / active License Why it matters for ShopStack Caveat
Qwen/Qwen3-Omni-30B-A3B-Instruct 30B total, ~3B active MoE Apache-2.0 One model can cover text, image, audio, video, ASR-like input, and speech output. Strong candidate for a β€œsingle local/offline brain” experiment and sponsor-aligned demo. Transformers inference can be slow; vLLM/Docker recommended. Counts as 30B loaded for project budget unless policy explicitly counts active params. Leaves little room under 32B if total params counted.
Qwen/Qwen3-Omni-30B-A3B-Thinking 30B total, ~3B active MoE Apache-2.0 Better for complex multimodal reasoning over receipt/photo/audio traces. Same budget/runtime caveat; likely slower.
Qwen/Qwen3-Omni-30B-A3B-Captioner 30B total, ~3B active MoE Apache-2.0 Audio captioning and market/environment audio notes; useful for β€œwhat happened in this noisy shopping audio?” More specialized; not a default core runtime.
openbmb/MiniCPM-o-2_6 ~8B check model card Any-to-any style multimodal candidate with vision/speech/language. Good OpenBMB sponsor alignment. Must verify current license/runtime before product use.

Opinionated take: Qwen3-Omni is the most exciting newer launch for the product vision, but it is not the first implementation model. Use it with HF Pro/credits for benchmarking and one β€œwow” demo. For reliable local-first core, keep specialist small models + deterministic services.

Fresh OCR / document-understanding candidates to add to benchmark set

Model Params Why it matters Suggested ShopStack test
opendatalab/MinerU2.5-2509-1.2B ~1.2B Mentioned in HF OCR guide comments as missing from comparison; compact document parser. Indian grocery receipt with line items + packet label close-up.
lightonai/LightOnOCR-1B-1025 ~1B Community-flagged β€œpunches above weight” OCR candidate. Low-quality local receipt photo and multilingual label.
tencent/POINTS-Reader ~3B text backbone + vision encoder Efficient end-to-end document AI replacing larger 7B backbone with Qwen2.5-3B; Chinese/English strengths. Receipt OCR and structured text extraction speed/accuracy.
Logics-MLLM/Logics-Parsing verify card Single-model document parsing for complex docs. Use as secondary benchmark, not default.
SmolDocling-256M-preview ~256M Tiny document understanding candidate. CPU/Mac fallback for basic labels/receipts.
RolmOCR-7B ~7B Lightweight VLM-level OCR option. Compare against OlmOCR and PaddleOCR-VL.
Typhoon-OCR-7B ~7B OCR model seen in HF OCR demo collections. Test if receipts are multilingual/noisy.
MonkeyOCR-Recognition verify card OCR recognition candidate in HF demo collections. Baseline OCR recognition, not full structured extraction.

Updated OCR priority:

1. PaddleOCR-VL (~0.9B)
2. MinerU2.5-1.2B + LightOnOCR-1B
3. Granite/SmolDocling tiny fallbacks
4. dots.ocr / DeepSeek-OCR / POINTS-Reader
5. OlmOCR-2 / RolmOCR / Typhoon-OCR as heavier benchmarks
6. Qwen3-VL / Qwen3-Omni for general multimodal fallback

Fresh ASR / realtime voice candidates

Model Params License Why it matters Caveat
mistralai/Voxtral-Mini-4B-Realtime-2602 4B Apache-2.0 Newer realtime ASR, 13 languages, <500ms delay target, open weights. Stronger fresh candidate than older Whisper-only baseline. Hindi/Hinglish support must be tested; 4B is heavier than SenseVoice/Parakeet.
Qwen/Qwen3-Omni-30B-A3B-Instruct 30B total / 3B active Apache-2.0 Speech input and speech output in one model; supports Urdu but not explicitly Hindi speech input in listed languages. Heavy; use as benchmark/wow path.
FunAudioLLM/SenseVoiceSmall ~0.2B class likely permissive; verify exact card Fast multilingual ASR + emotion/audio events. Language list may not cover Hindi directly; benchmark Hinglish.
NVIDIA Parakeet V3 / 0.6B family ~0.6B check card Very fast ASR; good low-latency candidate. Often English-focused; verify multilingual/Hinglish.
Whisper large-v3-turbo ~0.8B MIT Mature baseline with broad language support. Not native realtime; use faster-whisper/whisper.cpp.

Fresh TTS / speech output candidates

Model Params License Why it matters Caveat
Qwen/Qwen3-TTS-12Hz-0.6B-* 0.6B check card; Qwen family often Apache-2.0 Small Qwen TTS; vLLM-Omni supports CustomVoice/Base. Benchmark Hindi/Hinglish pronunciation and runtime complexity.
Qwen/Qwen3-TTS-12Hz-1.7B-* 1.7B check card Better quality than 0.6B; supports CustomVoice/VoiceDesign/Base variants via vLLM-Omni. Heavier, still fine under 32B.
FunAudioLLM/Fun-CosyVoice3-0.5B-2512 0.5B verify card vLLM-Omni supported; voice cloning style path. More complex request requirements.
mistralai/Voxtral-4B-TTS-2603 ~4.1B reported CC-BY-NC 4.0 in third-party scan; verify HF card High-quality multilingual/Hindi-capable TTS candidate. Non-commercial likely; not default for product unless license accepted.
OpenMOSS-Team/MOSS-TTS-Nano small; verify verify vLLM-Omni supported; potential lightweight voice cloning. Needs ref audio; not preset voice default.
Kokoro-82M 82M Apache-2.0 Still best tiny default TTS baseline. Pronunciation/voice quality may be weaker than newer TTS.
Piper small permissive Reliable local TTS fallback. Less β€œwow,” but robust.

Fresh multimodal embedding / reranker candidates

Model / stack Params Why it matters
Qwen/Qwen3-VL-Embedding-2B 2B Directly relevant to visual receipt/shelf/image retrieval, multimodal memory search, and trace retrieval. HF Sentence Transformers v5.4 shows loading with image support.
Qwen3-VL Embedding 8B variants ~8B Higher-quality multimodal retrieval if GPU memory allows.
Sentence Transformers v5.4 multimodal rerankers varies Lets ShopStack rerank text-image/audio/video memories with one API.
CLIP/SigLIP/SigLIP2 family small-medium Good fast image/text similarity for shelf snapshots and visual duplicate matching.
BGE-M3 0.6B Still best text-heavy multilingual local memory default.

New product implication: ShopStack should not only do text embeddings. It should plan for multimodal household memory: receipt images, shelf photos, voice snippets/transcripts, and traces should be retrievable across modalities.


13.2 HF Pro / credits usage plan

Pranay has HF Pro and credits. Use them for research, benchmarking, and artifact creation β€” not as hidden runtime dependency for the Off-the-Grid path.

Good uses of HF Pro/credits

  1. Batch OCR bakeoff with HF Jobs

    • Create a small representative dataset: 20 receipt photos, 20 packet labels, 10 shelf/fridge photos, 10 Swiggy screenshots/product cards.
    • Run PaddleOCR-VL, MinerU2.5, LightOnOCR, dots.ocr, DeepSeek-OCR, Granite/SmolDocling, POINTS-Reader via Jobs or temporary GPU Space.
    • Save outputs as a versioned benchmark dataset/artifact.
  2. Temporary GPU Space for demo/model exploration

    • Spin up model-specific Spaces for Qwen3-Omni, Voxtral Realtime, Qwen3-TTS, Qwen3-VL Embedding.
    • Record latency, memory, model output, failure modes.
    • Tear down or downgrade hardware after experiment.
  3. Dataset publishing

    • Publish redacted/synthetic command parser dataset.
    • Publish redacted trace examples.
    • Publish OCR benchmark fixtures if privacy-safe.
  4. Fine-tuning / LoRA training

    • Narrow parser LoRA on Qwen/SmolLM/MiniCPM-sized base.
    • Do not fine-tune a broad β€œdo everything” model first.
  5. Model comparison reports

    • Use HF Jobs for repeatable batch inference and store metrics.
    • Feed results back into Docs/MODEL_CATALOG.md and shopstack/model_registry.py only after local/runtime verification.

Bad uses of HF Pro/credits

  • Making HF Inference Endpoint mandatory for core app behavior while claiming Off the Grid.
  • Using credits to bypass implementing local confirmation, validation, and traceability.
  • Benchmarking on generic OCR samples only; ShopStack needs grocery/household-specific data.
  • Promoting a model to active runtime without testing memory, latency, license, and JSON/tool-call reliability.

13.3 Revised model strategy

The correct strategy is not β€œpick one best model.” Use a three-lane model strategy:

Lane A β€” Reliable local core
  deterministic services + Llama/Qwen 3B-8B planner + PaddleOCR-VL/Granite/SmolDocling + BGE-M3 + Kokoro/Piper

Lane B β€” Specialist excellence
  Voxtral Realtime for ASR, Qwen3-TTS/CosyVoice3 for TTS, Qwen3-VL Embedding for multimodal memory, YOLO/RF-DETR for detection

Lane C β€” Wow / future omni demo
  Qwen3-Omni-30B-A3B for audio/image/video/text/speech unified experience, benchmarked with HF credits, optional not required

13.4 Updated benchmark tasks for future agents

Create a repo-local benchmark spec before model promotion:

Task Inputs Required output Metrics
Receipt line extraction receipt photos merchant/date/items/qty/unit/line price/total field F1, human correction count, latency
Packet label extraction packet label closeups brand/item/MRP/expiry/quantity/storage exact date/price accuracy, confidence calibration
Hinglish voice command short audio phrases transcript + intent + tool JSON WER, intent accuracy, JSON validity
Market photo scan shelf/product photo candidate item + price/freshness uncertainty top-1/top-3 accuracy, false certainty rate
Alias matching text/receipt/list variants canonical item ID accuracy, ambiguous deferral rate
Multimodal retrieval text query over images/traces relevant receipt/shelf/trace recall@k, rerank quality
Short TTS answer generated household answers natural speech latency, intelligibility, Hindi/Hinglish pronunciation
Omni demo photo/audio/video prompt useful answer + optional speech latency, trustworthiness, failure modes

13.5 Immediate doc follow-ups

Future agents should update these artifacts after each real benchmark:

  • Docs/MODEL_CATALOG.md: add the fresh model, params, license, runtime, status, benchmark notes.
  • shopstack/model_registry.py: add only candidates that passed basic source/license checks; mark active only after runtime verification.
  • Docs/ShopStack_Exploration_Map.md: add findings, rejected models, and changed priorities.
  • tests/: add fixtures for model-independent parsing/validation paths so model swaps do not break product contracts.

13.6 Bottom line

The previous shortlist was useful but incomplete. The biggest newer additions are:

  1. Qwen3-Omni-30B-A3B as the ambitious single-model omni experiment.
  2. Voxtral Mini 4B Realtime as a fresh ASR candidate.
  3. Qwen3-TTS / CosyVoice3 / vLLM-Omni speech stack as a newer TTS evaluation lane.
  4. MinerU2.5, LightOnOCR, POINTS-Reader, SmolDocling, RolmOCR, Typhoon-OCR as added OCR benchmark candidates.
  5. Qwen3-VL Embedding + Sentence Transformers multimodal v5.4 as the right direction for multimodal household memory.
  6. HF Jobs/Spaces with Pro credits as the right way to benchmark without making cloud a product dependency.

Last updated: 2026-06-07


14. Living Model Research Intake + Leaderboard-Driven Discovery Protocol (2026-06-07)

Why this section exists

Pranay pushed back that the model research was not thorough enough. That pushback is correct: generic β€œbest model” lists are too shallow for ShopStack. The project needs a repeatable intake process that can absorb user-provided model names, watch new Hugging Face launches, compare leaderboards by modality and size, and still stay grounded in the product’s actual tasks.

This is a living research queue, not an implementation instruction. Future agents should document new findings here first, then only promote models into Docs/MODEL_CATALOG.md / shopstack/model_registry.py after license and runtime verification.

Hard constraints for model candidates

  • Prefer open-source / open-weight / locally runnable models.
  • Prefer models with ≀32B total loaded parameters. MoE models with ≀32B active params but much larger total params may be listed, but must be marked as active-param-only fit and treated as eval/API/large-rig candidates unless a local hardware plan exists.
  • Keep the Off-the-Grid promise: HF Pro/credits may be used for research, benchmarking, fine-tuning, and batch evals, but must not become a hidden runtime dependency for core behavior.
  • Rank by ShopStack usefulness, not generic benchmark prestige.
  • Every candidate must eventually be tested on grocery/household data, not just public benchmark samples.

Intake template for names Pranay provides

When Pranay gives a model/library name, append a row here or in a dated subtable using this schema:

Field Required note
Name / link Exact HF repo, GitHub repo, paper, or package name.
Modality Text, OCR/doc, VLM, ASR, TTS, embedding/rerank, detection, segmentation, time-series, agent/tooling.
Size Total params, active params if MoE, expected quantized RAM/VRAM.
License Exact license and commercial risk. Do not infer.
Runtime transformers, llama.cpp, mlx, vLLM, SGLang, ONNX, WebGPU, library API, etc.
ShopStack fit Receipt OCR, packet label OCR, pantry photo, Hinglish voice, TTS answers, planner/tool calls, multimodal memory, price intelligence, etc.
Evidence source Official model card/paper, leaderboard, GitHub, independent eval, or user-provided hunch.
Verdict evaluate now, watch, reject, eval-only, or blocked on license/runtime.
Benchmark task The first concrete ShopStack eval this model should run.

Leaderboard/source watchlist by capability

Use these sources first before relying on blog roundups:

Capability Primary sources to check What to extract Caveat
General small LLM / reasoning Hugging Face Open LLM Leaderboard org/results, Artificial Analysis with open-weights filter, Vellum Open Source LLM Leaderboard, Onyx self-hosted/open-source leaderboards Params, open-weight status, reasoning/coding scores, context, latency/cost where available General reasoning scores do not prove tool-call reliability or JSON correctness.
Small local / edge LLMs HF model cards, small-model leaderboards, llama.cpp/MLX/Ollama community benchmarks Quantized memory, speed, instruction following, multimodal support Many β€œunder 10B” lists mix official, vendor-reported, and community scores. Verify model cards.
Tool calling / structured output Berkeley Function Calling Leaderboard, Gorilla/OpenFunctions/xLAM/Hammer reports, independent local LM Studio/Open WebUI tests Tool selection, argument validity, multi-tool support, format compatibility Chat-template/runtime mismatch can make a leaderboard winner fail locally. Test with ShopStack’s actual server.
VLM / multimodal OpenCompass Open VLM Leaderboard, VLMEvalKit, HF OpenVLM records, model cards for Qwen/Gemma/MiniCPM/SmolVLM/Aya/Phi OCR, chart/doc QA, visual reasoning, GUI grounding, video/image support VLM leaderboard rank is not the same as receipt OCR or packet label extraction.
OCR / document AI OCRBench-style reports, OmniDocBench, DocVQA/InfoVQA/ChartQA benchmarks, HF OCR guides, Docling/MinerU/PaddleOCR docs Field extraction, layout retention, multilingual OCR, structured Markdown/JSON support Product needs receipts and labels; academic docs may not transfer.
ASR / speech input HF Open ASR Leaderboard, ASR Leaderboard paper/code, model cards for Canary/Qwen, Parakeet, Whisper, SenseVoice, Voxtral WER, real-time factor, multilingual support, streaming support Hindi/Hinglish and noisy market audio must be tested separately.
TTS / speech output TTS Arena, HF trending TTS, model cards for Kokoro/Piper/Qwen3-TTS/CosyVoice/Chatterbox Naturalness, latency, voice cloning, language/pronunciation, license Subjective voice quality needs human listening tests.
Embeddings / rerankers MTEB leaderboard, Sentence Transformers docs/blogs, BGE/Jina/Qwen embedding model cards Retrieval score, multilingual score, multimodal support, rerank ability Overall MTEB score hides retrieval-specific performance. Test household memory queries.
Detection/segmentation COCO/LVIS/open-vocabulary detection reports, Ultralytics/RF-DETR/GroundingDINO/SAM docs Object detection, grounding, segmentation, runtime Model may detect generic objects but not branded groceries.
Time series / forecasting Nixtla/statsforecast docs, sktime, NeuralForecast, Chronos/TinyTimeMixers model cards Forecast accuracy, local CPU viability, probabilistic outputs Use deterministic statistical baselines before neural forecasting.

Current leaderboard-driven candidate intake

This table captures newer candidates and source directions surfaced by the broader leaderboard scan. It is deliberately conservative: candidate β‰  approved runtime.

Candidate Modality Size / fit Evidence/source direction ShopStack fit Verdict / first eval
Qwen3.5-4B / Qwen3.5-9B small series Planner, tool calling, possible multimodal depending exact repo ≀10B Small-model rankings and independent local tool-calling tests report very strong structured/tool behavior for 4B-class Qwen Local planner, command parser, JSON/tool calls, cheap local assistant Evaluate now: tool JSON harness + shopping command parser. Verify exact HF repos/licensing.
NVIDIA Nemotron Nano 4B / Nemotron Nano 9B/12B/VL Tool calling, general LLM, VLM variants ≀12B Artificial Analysis and local tool-calling evals surface strong speed/structured behavior for Nano class Local planner fallback, possible VLM route if VL variant is open/licensed Evaluate after license/runtime check: tool call schema + receipt/photo QA.
GPT-OSS-20B General/reasoning/tooling 20B Vellum/Artificial Analysis list strong open-weight cost/speed; local tool eval shows decent but not best tool calls Larger local brain for planning/evals, not first core model Watch/evaluate: compare against Qwen 4B/9B on JSON and latency. Confirm license/runtime.
Gemma 3 4B / 12B / 27B and Gemma 3n E4B Text + vision, edge/local ≀27B total; 3n effective smaller Small-model and open-source leaderboards consistently cite strong local multimodal and edge viability Pantry/shelf photo QA, on-device assistant, fallback VLM Evaluate now for vision + local memory; test receipts but do not assume OCR excellence.
Phi-4-mini / Phi-4 multimodal / Phi-4 reasoning-vision Small reasoning, multimodal ~3.8B to ~15B Small-model rankings cite math/reasoning; multimodal variants appear useful for GUI/vision Lightweight reasoning, possible product-photo understanding Watch/evaluate: tool-call reliability looked weaker in one local test; verify current variants.
Mistral Nemo 12B Planner/tooling 12B Independent local tool-call eval ranked it highly under LM Studio Structured local planner alternative Evaluate if Qwen fails or license/runtime is simpler.
Mistral Small 3.x / 24B Planner/general 24B Self-hosted leaderboards list it, but local tool-call tests may underperform via incompatible templates Possible high-quality planner if native runtime works Blocked on runtime-template validation. Do not assume BFCL/official score transfers.
xLAM-2 8B / Salesforce function-calling models Tool calling ~8B BFCL-oriented function calling family; independent local tests warn about template incompatibility Specialist local tool caller Evaluate with native template, not generic OpenAI-compatible server only.
Hammer 2.x 7B Tool calling ~7B Function-calling specialist with benchmark claims; local runtime mismatch risk Specialist command-to-action parser Evaluate only after chat-template support confirmed.
Qwen3-VL-Embedding-2B Multimodal embedding/rerank 2B HF Sentence Transformers v5.4 multimodal docs/blog explicitly support multimodal embeddings Multimodal household memory: retrieve receipt images, shelf photos, voice traces Evaluate now: recall@k on text query β†’ receipt/photo/trace.
Sentence Transformers v5.4 multimodal stack Library/runtime model-dependent HF blog adds text/image/audio/video embedding and reranker support One API for multimodal memory experiments Adopt in benchmark tooling before app runtime.
NVIDIA Canary-Qwen 2.5B ASR 2.5B HF Open ASR Leaderboard / ASR paper sources cite strong open ASR accuracy Voice receipt notes, spoken shopping commands Evaluate now: Hinglish/noisy command WER + latency.
NVIDIA Parakeet TDT/CTC 0.6B–1.1B ASR ≀1.1B ASR leaderboard cites very high real-time factor for fast transcription Realtime local voice if language coverage fits Evaluate speed lane: English/Hinglish WER and streaming.
IBM Granite Speech 3.3 8B ASR/audio LLM ~8B/9B class ASR leaderboard/blog sources cite strong WER and Apache license claims; verify exact card Accurate voice command transcription Watch/evaluate after license/runtime check.
Voxtral Mini 4B Realtime ASR/audio 4B Mistral/HF realtime speech model candidate Low-latency voice loop Evaluate: latency + Hindi/Hinglish support; compare to Canary/Parakeet/SenseVoice.
Chatterbox TTS ~0.5B class TTS roundups/trending cite strong small voice cloning/naturalness Warm local household voice, optional personalized voice Evaluate: license, voice quality, latency, pronunciation.
Kokoro-82M TTS 82M Still strong tiny baseline Default local TTS baseline Keep baseline; benchmark against Qwen3-TTS/CosyVoice/Chatterbox.
Qwen3-TTS 0.6B/1.7B TTS ≀1.7B vLLM-Omni supported Qwen TTS family Higher-quality local speech output Evaluate: runtime complexity + Hinglish pronunciation.
PaddleOCR-VL OCR/doc ~0.9B Prior section already flagged; still top first OCR candidate Receipt/label structured extraction Evaluate first on grocery dataset.
MinerU2.5-1.2B / LightOnOCR-1B OCR/doc ~1B HF OCR guide/community-cited newer compact OCR candidates Receipt/label extraction, document parsing Evaluate now in OCR bakeoff.
SmolDocling / Granite-Docling OCR/doc 256M-ish Tiny document understanding candidates CPU fallback, quick document parse Evaluate as fallback, not likely top accuracy.
Qwen3-Omni-30B-A3B Omni multimodal 30B total / ~3B active Fresh HF model cards; omni audio/image/video/text/speech β€œOne model does a lot” wow demo and benchmark oracle Eval-only/wow lane: total loaded params nearly consumes cap; not reliable first core.
Qwen3-VL 235B-A22B VLM/OCR/GUI 235B total / 22B active Open-source VLM leaderboards and provider writeups cite strong OCR/GUI Reference oracle for vision/OCR quality Active-param-only / cloud eval, not local Off-the-Grid default due total size.
MiniMax-M2.5 Agentic LLM 229B total / 10B active Open-source/self-hosted leaderboards cite strong coding/function-calling Reference for complex planning API/eval-only unless hardware plan exists. Total params exceed local cap.
Kimi K2 Thinking/K2.5 Agentic LLM ~1T total / 32B active Open-source leaderboards place it high for reasoning/agentic coding High-end external judge/planner reference Out of local cap by total size; can be benchmark reference with credits/API only.

ShopStack-specific model eval suite to create before promotion

A future implementation agent should create this as a benchmark harness before adding active runtime models:

Eval Dataset size Pass criteria Why it matters
Receipt OCR bakeoff 20–50 real/synthetic receipts item/date/merchant/total field F1, correction count, latency Core automation must not corrupt inventory/price history.
Packet label extraction 20–50 packet labels MRP/expiry/brand/size exactness, ambiguity detection Prevent stale/expired item and wrong unit bugs.
Hinglish voice command 50–100 short clips WER + intent accuracy + valid JSON tool calls Voice UX depends on this.
Tool-call schema harness 40–100 prompts exact tool selection, required args, no unauthorized action Planner safety and trace correctness.
Multimodal memory retrieval 30–100 image/text/audio trace entries recall@5 and rerank quality Enables β€œwhere did we buy this?” and β€œshow last receipt for atta.”
Shelf/fridge image understanding 30–50 photos top-k item detection/caption confidence, false-certainty rate Supports pantry/photo features without hallucinated writes.
TTS listening test 20 generated responses intelligibility, warmth, pronunciation, latency Voice output should feel useful, not gimmicky.
Local runtime budget all promoted models RAM/VRAM, cold start, tokens/sec, fallback behavior Keeps Off-the-Grid credible.

Research quality rules for future passes

  • Do not cite a model as β€œbest” without saying best for what benchmark/task.
  • Always separate official/vendor-reported metrics from third-party and our own metrics.
  • For MoE models, record both total params and active params. The project cap should default to total loaded params unless explicitly overridden for a demo/eval lane.
  • A model with strong BFCL/function-calling score still needs local runtime validation because chat templates often break OpenAI-compatible serving.
  • A VLM with strong MMMU/MMBench score still needs receipt/label OCR testing.
  • An ASR model with low English WER still needs Hinglish and noisy-market audio tests.
  • A TTS model with high community preference still needs licensing and pronunciation checks.
  • Prefer deterministic libraries for core arithmetic, matching, time-series, and validation; models should propose, classify, transcribe, extract, or explain β€” not silently mutate state.

Immediate next research actions

  1. As Pranay provides model names, append them to the intake table with exact links and verdicts.
  2. Pull exact HF model cards/licenses for the top candidates above, starting with Qwen3.5 small, Nemotron Nano, Canary-Qwen, Granite Speech, Chatterbox, Qwen3-VL-Embedding, and the OCR candidates.
  3. Build the benchmark fixture list before any implementation agent wires models into runtime.
  4. Update Docs/MODEL_CATALOG.md only after exact model card/license/runtime evidence is collected.
  5. Keep a rejected/blocked list; avoiding bad models is as useful as finding good ones.

Last updated: 2026-06-07


Design System & UI Architecture (2026-07-12)

Context

Full design audit completed (see Docs/audits/audit_05_full_design_audit.md). UI surface has solid foundation but needs component library expansion, design token completion, and architectural cleanup.

Completed

  • Split other.py β†’ price_memory.py, household_map.py, field_notes.py, swiggy_market.py
  • Moved DEMO_SEED_INVENTORY β†’ shopstack/data/seed_demo.py
  • CSS tokens v2: spacing, font-size, shadow, z-index, animation scales
  • Unified DECISION_COLORS with CSS variables, created theme_tokens.py
  • Fixed Audit 3: removed 3 wrapper fns, private imports, extracted _runtime_label
  • P1 components: item_row, stat_card, data_table, confirm_dialog, toast, loading_skeleton, empty_state_enhanced

Open

  • Phase 2/3 components, dark mode, keyboard shortcuts, a11y audit
  • Remaining hardcoded color migration in swiggy_market, image_cards, market_lens, shopping
  • Component adoption: migrate existing screens to use new components

Last updated: 2026-07-12


Architecture Consolidation & Stash Recovery (2026-06-08)

Context

An intentional architectural branch (stashed as WIP) performed three major transformations: screen module extraction, design system v2, and 5-tab UX restructure. Full architecture documented in Docs/STASH_ARCHITECTURE_RECOVERY.md.

Completed Architecture Changes

  • 5-tab nested UX: 13 flat tabs β†’ 5 nested tabs (Today, Basket, Market Lens, Reconcile, Memory). Groups related product surfaces.
  • other.py β†’ 51L re-export shim. Functions extracted to canonical modules: price_memory.py, household_map.py, field_notes.py, swiggy_market.py.
  • Design system v2: 728-line token-based theme with Emil Kowalski animations, WCAG AA focus-visible, reduced-motion, responsive breakpoints.
  • Lazy provider loading: ProviderRegistry defers heavy imports (funasr, torch, kokoro) to first get() call. import app dropped from 90s to 2.3s.
  • Local model defaults: STT=mlx-whisper, TTS=kokoro-82M, planner=MLX/llama.cpp. All real models by default, mock only for off-trunk providers (vision/OCR).
  • Cost tracking + tracing: OpenTelemetry trace_call() spans in local and OpenAI providers with model tier estimation.
  • semantic_find_item: Tiered search (exact β†’ prefix β†’ semantic embedding) registered as canonical tool with ToolSpec.
  • Decision cards: SVG-based visual cards in dashboard for buy/skip/use-soon.

New Capabilities Added (Aug 2026-06-08)

  • Receipt scanning: OCR β†’ purchase events pipeline with services/receipt.py
  • Multi-retailer adapters: Blinkit, Zepto, DMart source adapters with cross-source price comparison via market/sources/_comparison.py
  • Semantic inventory search: BGE-M3 embedding provider with tiered fallback to prefix search
  • Dashboard intelligence: Cadence detection, waste warnings, weather context all wired into DashboardState via service layer
  • Nutrition tracking: 30-item reference database + service + UI tab
  • Weather/trip context: Open-meteo API integration with caching and offline mock fallback
  • Demo walkthrough: scripts/demo_walkthrough.py β€” idempotent, seeds inventory, prices, shopping list
  • Performance benchmarks: 30 pytest-benchmark tests with results in benchmarks/RESULTS.md

Test Health

619 passed, 0 failed, zero regressions from 597 baseline

Decision Records (DR-005 through DR-012)

  • DR-005: Screen module extraction β€” split other.py into canonical modules
  • DR-006: Design system v2 β€” token-based CSS replacing flat hardcoded values
  • DR-007: 5-tab nested UX β€” 13 flat tabs collapsed to 5 primary tabs
  • DR-008: Lazy provider loading β€” deferred heavy imports for fast app init
  • DR-009: Local model defaults β€” real models by default, optical upgrades
  • DR-010: SVG decision cards β€” visual card system with PNG fallback via Flux
  • DR-011: semantic_find_item β€” tiered search registered as canonical tool
  • DR-012: Cost tracking + tracing β€” OpenTelemetry spans in LLM providers

Exploration Areas Opened

  • Dark mode theme variant using design tokens
  • Keyboard shortcut system for power users
  • Accessibility audit against WCAG 2.1 AA
  • Component migration: adopt primitives (ItemRow, Toast, etc.) across screens
  • Model download UX: progress indicators for initial local model downloads
  • Offline-first backup/restore: encrypted household snapshots
  • Mobile capture path: PWA wrapper for Gradio with local-first guarantees

14. Expansion Sweep β€” Cross-Project Inspired Areas (2026-06-08)

This section expands the open exploration surface using patterns from sibling Projects docs such as family-dinner-os exploration audits, invoice-intelligence autoresearch/evaluation docs, idea_pad domain census, and local ShopStack docs. All items remain documentation-only until promoted into ROADMAP.md or decision records.

14.1 Household Operating-System Verticals

ShopStack can stay anchored in shopping while growing into adjacent household systems:

  • Family meal operating system β€” meal debates, preferences, leftovers, nutrition, budget, and available stock converge into one dinner decision.
  • Caregiver / elder household mode β€” low-vision voice workflows, medicine-like caution labels, easy β€œwhat is at home?” answers, and remote family check-ins.
  • Shared flat / hostel mode β€” roommate ownership, split costs, communal vs personal shelves, expiry responsibility, and β€œwho used the milk?” event trails.
  • Domestic helper / staff workflow β€” voice-first Hindi/Hinglish commands, confirmation cards, shopping handoff lists, and audit-friendly purchase logs.
  • Baby / pet / dietary inventory β€” formula, diapers, pet food, allergy-safe items, repeat cadence, and β€œnever run out” thresholds.
  • Emergency prep / monsoon stock β€” critical household reserves, power-cut foods, water, medicines, flashlights, and weather-aware restock prompts.
  • Festival / event planning β€” Diwali, Eid, weddings, birthdays, guests, bulk shopping, perishability, and post-event leftover/waste analysis.
  • Home ops ledger β€” groceries plus household consumables, repairs, cleaning, subscriptions, appliance filters, warranty docs, and recurring errands.

Exploration questions:

  • Which vertical keeps the strongest wedge while preserving β€œshopping memory” as the core mental model?
  • Which mode can be demoed with real household evidence in under 3 minutes?
  • What user roles need separate permissions, not just separate labels?
  • Which verticals create sensitive claims requiring stronger disclaimers?

14.2 Retail, Kirana, and Community Commerce Angles

ShopStack can horizontally extend from one household into local commerce memory:

  • Kirana companion β€” compare home inventory against nearby kirana price/quality memory, not only quick-commerce snapshots.
  • Neighborhood price commons β€” privacy-preserving aggregate prices for staples, normalized by unit, quality, and freshness.
  • Store quality memory β€” subjective freshness, staff helpfulness, return issues, packaging quality, substitution reliability, and delivery timing.
  • Local seller mini-CRM β€” seller notes, WhatsApp order templates, credit ledger, preferred brands, and recurring household baskets.
  • Market route planner β€” β€œbuy vegetables here, detergent there” based on travel time, weather, price variance, and perishability.
  • Community-supported buying β€” bulk rice/oil/dal buys across apartments, savings split, expiry/storage planning, and consented group orders.
  • Retailer API / scraping ethics map β€” what data is official, user-provided, manually entered, public, or not safe to automate.

Exploration questions:

  • What is the trust boundary between personal memory and community data?
  • How do we prevent stale community prices from misleading users?
  • Can quality/freshness be represented without pretending to be objective?
  • Which integrations are product-critical vs demo theater?

14.3 Autoresearch and Evaluation Harness

Borrow the invoice-extraction pattern: fixed benchmark, fixed evaluator, one candidate change, keep/discard logging.

Candidate benchmark tracks:

  • Command parser benchmark β€” Hinglish and English shopping commands β†’ JSON tool calls, with exact intent, item, quantity, unit, location, and confidence scoring.
  • Receipt extraction benchmark β€” receipt photos/text β†’ purchase events with item, quantity, price, store, date, total, tax/fee ambiguity, and review flags.
  • Packet label OCR benchmark β€” expiry/MRP/nutrition extraction with false-positive penalty for confusing MRP, sale price, manufacturing date, and best-before date.
  • Market Lens benchmark β€” shelf/photo/barcode inputs β†’ identify item, compare with inventory, classify buy/skip/compare, and explain uncertainty.
  • Semantic alias benchmark β€” pav/bread, dahi/curd/yogurt, Surf/detergent, dhaniya/coriander, etc. β†’ canonical item IDs.
  • Voice benchmark β€” noisy-market audio β†’ preserved intent and slot accuracy.
  • Decision benchmark β€” inventory + market price + cadence + weather β†’ expected buy/skip/use-soon/compare/watch classification.

Immutable surfaces for each run:

  • benchmark manifest,
  • ground-truth labels,
  • scoring formula,
  • dataset split,
  • validation schema,
  • evaluator code.

Mutable candidate surfaces:

  • prompt text,
  • model/provider,
  • parser/OCR/vision routing,
  • validation thresholds,
  • retry/fallback policy,
  • normalization maps,
  • confidence language templates.

Artifacts to store in-project:

  • experiments/results.tsv,
  • per-run summary.json,
  • error_analysis.json,
  • candidate prompt/config snapshots,
  • keep/discard rationale,
  • hard examples promoted to fixtures.

14.4 Data and Schema Expansion

Potential canonical data layers:

  • household item taxonomy with Indian/local variants,
  • alias and brand synonym map,
  • unit normalization and pack-size grammar,
  • storage-location ontology,
  • shelf-life and freshness rules by category,
  • price-quality observation schema,
  • receipt line item schema,
  • packet label schema,
  • nutrition/allergen schema,
  • household preference schema,
  • user role/permission schema,
  • consent and anonymization schema for traces,
  • retailer source provenance schema,
  • model-run provenance schema,
  • uncertainty/explanation schema.

High-leverage datasets to publish or keep internal:

  • 500–2,000 human-reviewed grocery commands,
  • 100 receipt examples with synthetic/redacted variants,
  • 300 packet label close-ups / synthetic crops,
  • 1,000 alias-to-canonical mappings,
  • 100 household shelf/fridge snapshots with zones,
  • 100 market photo examples with review cards,
  • 50 noisy voice snippets for benchmark phrases,
  • real/synthetic price observations across Swiggy, Blinkit, Zepto, DMart, kirana,
  • anonymized trace set showing tool-call planning and corrections.

Exploration questions:

  • Which maps belong in SQLite tables vs versioned YAML/JSON?
  • Which maps need user-editable UI because every household differs?
  • Which data can be safely public for hackathon/storytelling?
  • What validation catches stale or contradictory data before it reaches decisions?

14.5 UX, Interface, and Interaction Surfaces

Open product surfaces:

  • Today as command center β€” one screen for buy, skip, use soon, compare, confirm, and β€œwhy this recommendation?”
  • Review queue β€” uncertain OCR/vision/voice events become cards to approve, merge, split, edit, or discard.
  • Cinematic household timeline β€” family-dinner-style event playback showing how ShopStack reasoned from inventory, price memory, weather, and preferences.
  • Shelf map editor β€” user-defined locations, shelf zones, item cards, last-seen photos, and confidence badges.
  • Market mode β€” large buttons, short voice responses, offline-safe fallback, high contrast, and no dense tables.
  • Kitchen mode β€” hands-free voice, recipe/use-soon prompts, timer-adjacent flow, and β€œwhat can I cook now?”
  • Family summary β€” shareable daily/weekly household digest: what to use, buy, avoid, and what was wasted/saved.
  • Operator/debug view β€” model used, fallback path, confidence, source data age, and trace export without leaking private content.
  • Onboarding wizard β€” household type, preferred stores, staple items, language, dietary constraints, budget, and reminder preferences.

Design exploration topics:

  • warm household visual language vs utilitarian inventory tool,
  • mobile-first capture vs desktop-first Gradio demo,
  • confidence language and iconography,
  • accessibility for low vision / elder users,
  • no-shame waste messaging,
  • deterministic factual cards vs generated visuals,
  • offline/connected mode indicators,
  • empty states that teach the mental model.

14.6 Agent, Model, and Pipeline Architecture

Potential specialized agents/pipelines:

  • Inventory Reconciler β€” merges receipt, voice, photo, and manual updates into lots without double-counting.
  • Market Analyst β€” compares unit prices, source freshness, travel cost, and quality memory.
  • Waste Coach β€” detects overbuy patterns and suggests practical use-soon actions.
  • Meal Planner β€” proposes meals from current stock, preferences, and expiry.
  • Data Steward β€” flags duplicates, stale prices, bad aliases, and low-confidence observations for review.
  • Privacy Guard β€” redacts traces, receipts, addresses, phone numbers, faces, and household member names before export.
  • Benchmark Runner β€” executes candidate prompts/models against fixed datasets and writes keep/discard results.
  • Source Adapter Auditor β€” validates retailer adapters for freshness, schema drift, and unit-price correctness.

Pipeline questions:

  • Where should rules beat models outright?
  • Which model outputs must never mutate inventory without confirmation?
  • How should fallback paths be visible to the user and trace logs?
  • Can one canonical event ledger drive inventory, prices, traces, and explanations?
  • Should ShopStack adopt event sourcing for all household changes?

14.7 Privacy, Safety, Trust, and Governance

Trust surfaces to design explicitly:

  • local-first mode and clear cloud-mode disclosure,
  • household data export/delete,
  • encrypted backup snapshots,
  • consent per household member,
  • child/elder-safe voice interactions,
  • face/address/phone redaction in images and receipts,
  • private vs shareable trace boundaries,
  • nutrition/allergen caution language,
  • medicine-like item handling without medical claims,
  • price freshness and source disclaimers,
  • no auto-purchase without explicit confirmation,
  • audit trail for who added/consumed/moved items,
  • conflict handling when multiple users edit the same household.

Open questions:

  • What is the minimum privacy story credible for real household photos?
  • How do we make anonymized hackathon traces useful but safe?
  • Which features should be disabled in public demo mode?
  • What should be impossible for the agent to do automatically?

14.8 Business, Distribution, and Packaging Exploration

Potential packages:

  • free local household inventory app,
  • paid family sync / encrypted backup,
  • premium market intelligence and retailer comparison,
  • caregiver/elder household plan,
  • apartment/community price commons,
  • kirana/seller companion,
  • meal-planning add-on,
  • privacy-first offline appliance / NAS-style version,
  • API/data layer for other home apps.

Distribution channels:

  • Hugging Face Space demo,
  • Product Hunt / X build thread,
  • WhatsApp-family proof video,
  • Indian home-cooking creators,
  • Reddit/Discord frugal and meal-prep communities,
  • apartment society pilots,
  • local kirana pilot,
  • caregiver and elder-tech communities,
  • student hostel beta.

Positioning experiments:

  • β€œYour home’s shopping memory.”
  • β€œKnow what you have before you buy again.”
  • β€œThe anti-overbuy grocery assistant.”
  • β€œA local-first inventory copilot for Indian homes.”
  • β€œFrom receipt to fridge to next shopping decision.”
  • β€œA memory layer for household commerce.”

14.9 Platform and Integration Backlog

Potential integrations:

  • WhatsApp list import/export,
  • email receipt ingestion,
  • browser extension for online grocery carts,
  • mobile PWA capture,
  • barcode/QR product databases,
  • calendar/reminders,
  • weather APIs,
  • maps/travel-time APIs,
  • smartwatch/voice shortcut,
  • printer/label maker,
  • CSV/JSON/SQLite backup,
  • Home Assistant / smart fridge / camera feeds,
  • supermarket loyalty emails where user-consented,
  • nutrition databases,
  • recipe APIs or local recipe notebooks.

Integration rules to define before building:

  • canonical source of truth,
  • data freshness,
  • user consent,
  • failure/fallback behavior,
  • duplicate detection,
  • manual correction path,
  • export portability,
  • test fixture strategy.

14.10 Repo, Documentation, and Quality Exploration

Process surfaces worth improving:

  • keep FEATURE_MAP.md, ROADMAP.md, decision records, and this exploration map synchronized without rewriting history,
  • add exploration area IDs so roadmap items can cite their origin,
  • create an experiments/README.md describing benchmark promotion rules,
  • create a data catalog for all JSON/CSV/YAML datasets,
  • track β€œbuilt / partially built / only explored” status per idea,
  • maintain screenshot/visual evidence under Docs/review/assets/, not root,
  • add docs for provider fallback behavior and model parameter accounting,
  • add a privacy review checklist for trace/dataset publication,
  • add a demo-script checklist for hackathon video reproducibility,
  • create hard-example fixtures whenever a model or OCR failure is found.

14.11 New Open Questions

  1. Should ShopStack become an event-sourced household ledger, or stay CRUD-first with derived event logs?
  2. Which single vertical expansion is the strongest: caregiver, shared flat, kirana/community, meal planning, or festival planning?
  3. What is the smallest fixed benchmark that prevents model/prompt regressions?
  4. Which decisions require hard rule gates instead of model judgment?
  5. How should household member permissions work without making onboarding heavy?
  6. Can price memory combine subjective quality and objective unit price cleanly?
  7. What public demo data feels real without exposing private household details?
  8. Should receipt ingestion be the primary acquisition wedge because it creates instant inventory and price memory?
  9. What is the right event model for correction: amend, reverse, merge, split, or overwrite?
  10. Which integrations are worth building first because they compound the memory layer rather than distract from it?

15. HF Pipeline Model Sweep (2026-06-09)

Created a dedicated pipeline/model exploration note at Docs/exploration/HF_PIPELINE_MODEL_EXPLORATION_2026-06-09.md after querying Hugging Face Hub metadata with the local SHOPSTACK_HF_API_KEY from .env. The key was used only for read-only discovery and was not printed or stored.

Coverage added:

  • speech-to-text / market voice capture,
  • text-to-speech / spoken household responses,
  • planner, command parser, slot extraction, and reranking,
  • OCR, receipt extraction, packet labels, document layout,
  • vision, VQA, object detection, grounding, and visual similarity,
  • segmentation, cropping, and background removal,
  • text/image embeddings and semantic retrieval,
  • image generation/editing for non-factual cards,
  • privacy/redaction model surfaces,
  • candidate active stacks under the 32B parameter cap,
  • benchmark promotion plan for fixed evals.

Important exploration decisions:

  • Do not choose models by downloads alone; require product-fit benchmarks.
  • Keep factual prices, expiry dates, and inventory counts rendered by code, not generated into image pixels.
  • Keep direct inventory mutation behind validated tool calls and confirmation.
  • Treat each pipeline stage as separately benchmarked: ASR, parser, OCR, vision, embeddings, segmentation, and decision reasoning should have different evals.
  • Distinguish submitted active models, optional fallbacks, and research-only candidates in future model docs.

New model families/lanes opened:

  • WhisperKit/CoreML and pyannote VAD/diarization for future mobile/voice capture.
  • Indic Parler TTS, VibeVoice, OmniVoice, Chatterbox for voice quality and Indian language support.
  • PaddleOCR v5, TrOCR, Donut, LayoutLM, Table Transformer, and PP-DocLayout for receipts and packet labels.
  • BLIP/ViLT/Pix2Struct/DETR/YOLOS/RT-DETR/CLIP/SigLIP for visual understanding and shelf/product matching.
  • RMBG-2.0, BiRefNet, ClipSeg, SegFormer, Mask2Former for item cards and shelf zones.
  • Qwen3-Embedding, multilingual-e5, Jina v3, MiniLM, Nomic, and BGE rerankers for semantic memory and alias search.
  • Qwen Image Edit, FLUX.2 variants, Z-Image Turbo, SDXL/SD-turbo for optional visual assets, with deterministic overlays for factual content.

16. Travel Agency Agent Pattern Transfer (2026-06-09)

Sampled travel_agency_agent and exploration_maps/travel_agency_agent for transferable exploration patterns. The strongest reusable ideas are not travel features themselves; they are operating-system patterns: lifecycle pipelines, dual-output safety boundaries, destination/context intelligence, supplier scoring, governance, continuity, and research-status discipline.

16.1 Pipeline Lifecycle: Inquiry β†’ Decision β†’ Strategy

Travel pattern:

Inquiry β†’ Intake Normalization β†’ Decision/Gaps β†’ Strategy/Bundle β†’ Safe Output

ShopStack equivalent:

Household signal β†’ Normalize β†’ Gap/Decision β†’ Action Bundle β†’ User-safe Output

Candidate ShopStack lifecycle stages:

  • Signal intake β€” voice command, receipt photo, packet label, fridge photo, shopping list edit, manual inventory update, market price observation.
  • Normalization β€” canonical item, unit, quantity, store/source, location, confidence, provenance, timestamp.
  • Gap analysis β€” missing quantity, ambiguous item, stale price, duplicate lot, expiry uncertainty, source freshness, low-confidence OCR/vision.
  • Decision state β€” buy, skip, use soon, compare, watch, confirm, reconcile, split/merge, discard.
  • Action bundle β€” inventory mutation proposal, price observation, reminder, shopping list update, review card, trace event.
  • Safe output β€” household-facing explanation that excludes internal-only model prompts, raw OCR noise, private metadata, and unsupported claims.

Exploration question: should ShopStack formalize a canonical HouseholdSignal β†’ DecisionBundle contract similar to Travel Agency Agent's trip packet pipeline?

16.2 Dual-Output Safety Boundary

Travel pattern: internal operator bundle can contain richer decision context, while traveler-facing output must be sanitized and leakage-checked.

ShopStack transfer:

  • Internal/debug bundle β€” raw OCR text, model output, confidence vectors, fallback path, source age, prompt/run metadata, private notes.
  • Household-safe bundle β€” concise explanation, action recommendation, source caveat, and confirmation affordance.
  • Public/demo-safe bundle β€” anonymized screenshots/traces with household names, addresses, phone numbers, receipts, faces, and payment identifiers removed.

Potential feature:

  • Add a Strict Public Demo Mode that blocks export/share if unsafe terms or unredacted receipt fields are detected.

16.3 Gap-State and Review-Queue Taxonomy

Travel Agent emphasizes blockers, confidence, next-action state, and operator workbench review. ShopStack should mirror this for household automation.

Candidate gap states:

  • missing_quantity
  • ambiguous_item
  • ambiguous_unit
  • possible_duplicate_lot
  • stale_price_source
  • expiry_date_conflict
  • ocr_layout_uncertain
  • vision_low_confidence
  • needs_location_confirmation
  • needs_household_member_confirmation
  • unsafe_to_auto_apply
  • source_adapter_schema_drift

Review queue actions:

  • approve,
  • edit,
  • merge with existing lot,
  • split into multiple lots,
  • mark as price-only observation,
  • save as field note,
  • discard,
  • promote to benchmark fixture.

This would turn model uncertainty into a productive UI surface instead of hidden backend ambiguity.

16.4 Destination Intelligence β†’ Household Context Intelligence

Travel Agent has destination intelligence: weather, AQI, crime, disease, political stability, crowding, cost of living, local laws, digital infra, accessibility, emergencies.

ShopStack equivalent context layers:

  • Weather/seasonality β€” rain, heat, humidity, monsoon spoilage, festival demand.
  • Neighborhood context β€” local market day, store closures, delivery delays, apartment/community bulk buys.
  • Household calendar β€” guests, travel, school/work schedules, fasting days, festivals, parties.
  • Health/diet context β€” allergies, low-salt/diabetic preferences, baby/elder household needs, without making medical claims.
  • Appliance/storage context β€” fridge space, freezer availability, power cuts, pantry capacity.
  • Mobility/accessibility context β€” who is shopping, carrying capacity, elder user constraints, delivery vs walk/drive tradeoff.
  • Budget/pay-cycle context β€” monthly stocking, weekly top-up, sale timing, price volatility.

Potential score systems:

  • buy_now_score,
  • skip_risk_score,
  • waste_risk_score,
  • travel_worth_it_score,
  • freshness_risk_score,
  • stockout_risk_score,
  • confidence_to_auto_apply.

16.5 Supplier Reliability β†’ Store and Source Reliability

Travel Agent explores supplier ecosystems, dark inventory, vendor reliability, commission economics, and disruption risk. ShopStack has an analogous store/source layer.

Store/source reliability dimensions:

  • price accuracy,
  • delivery punctuality,
  • produce freshness,
  • substitution quality,
  • return/refund friction,
  • stockout frequency,
  • packaging quality,
  • unit-size honesty,
  • stale-data risk,
  • adapter schema stability,
  • household preference fit.

Candidate source types:

  • manual household observation,
  • receipt-derived observation,
  • Swiggy/Blinkit/Zepto/DMart snapshot,
  • kirana WhatsApp quote,
  • community aggregate,
  • loyalty/email receipt,
  • public product database,
  • synthetic/demo fixture.

Exploration question: should every price/availability recommendation carry a source_reliability and freshness_timestamp, not just a numeric price?

16.6 Autonomy Gradient and Governance

Travel Agent has explicit autonomy/governance research: when AI acts, when it asks, and how settings control autonomy.

ShopStack autonomy levels:

  1. Observe only β€” save scan/receipt/voice as note, no action.
  2. Suggest β€” show recommendation, no mutation.
  3. Draft action β€” prefill add/consume/move/list update for approval.
  4. Auto-apply low-risk β€” apply only rule-safe actions, e.g. mark a manually checked shopping item as purchased.
  5. Never automate β€” purchases, deletes, public trace export, medical/nutrition claims, ambiguous inventory reductions.

Governance settings to explore:

  • per-household autonomy level,
  • per-source trust level,
  • per-member permissions,
  • confirmation thresholds by action type,
  • β€œstrict mode” for public demos,
  • audit log visibility.

16.7 Operational Continuity and Disruption Handling

Travel Agent includes continuity/resilience thinking for supplier outages, geopolitical disruption, and operational recovery. ShopStack should do the same for household data and sources.

Continuity scenarios:

  • quick-commerce source unavailable,
  • OCR/vision model fails or times out,
  • local model missing/download failed,
  • stale price snapshot,
  • corrupted SQLite/backup restore,
  • duplicate household edits from two users,
  • offline market mode,
  • fridge/pantry photo too poor,
  • receipt not readable,
  • user disputes an auto-applied action.

Recovery UX:

  • visible fallback path,
  • β€œsave for later review”,
  • manual entry fallback,
  • source freshness warning,
  • undo/reverse event,
  • backup/export prompt,
  • hard-example capture for benchmark improvement.

16.8 Real-Validation Status Discipline

The Travel Agent exploration map is useful because it marks the gap between deep theory and real validation. ShopStack should adopt that discipline.

Recommended statuses for exploration/roadmap items:

  • idea_only
  • researched
  • prototype_exists
  • wired_in_app
  • tested_with_fixtures
  • tested_with_real_household_data
  • dogfooded_in_market
  • public_demo_safe
  • production_ready

Add validation metadata:

  • evidence path,
  • test command,
  • data source,
  • last verified date,
  • known failure modes,
  • privacy status,
  • benchmark score if applicable.

16.9 Content Prism and Free-Tool Strategy

Travel Agent maps every research topic into content, SEO tools, and multiple audiences. ShopStack can do a household-commerce version.

Three-audience prism:

  • Household user β€” practical: save money, avoid waste, know what is at home.
  • Builder/judge β€” small-model, local-first, multimodal, benchmarked pipeline.
  • Retail/community partner β€” source reliability, price memory, local commerce.

Free-tool ideas:

  • grocery unit-price calculator,
  • β€œis this price high?” checker,
  • receipt-to-spend summary,
  • food waste estimator,
  • pantry stockout calculator,
  • festival shopping planner,
  • rainy-day grocery checklist,
  • bulk-buy break-even calculator,
  • expiry label parser demo,
  • household alias dataset explorer.

16.10 New Open Questions from Travel-Agent Transfer

  1. Should ShopStack create a canonical DecisionBundle object that separates internal/debug fields from household-safe output?
  2. What is the exact autonomy gradient for add, consume, move, delete, export, and purchase-like actions?
  3. Should stale source data automatically downgrade recommendations to β€œwatch” or β€œconfirm” instead of buy/skip?
  4. What score formulas are explainable enough for travel_worth_it, waste_risk, and stockout_risk?
  5. Which review-queue actions are essential for real household correction flows?
  6. Can every failed OCR/vision/parser case become a benchmark fixture with one click?
  7. What is the strict public-demo leakage guard for receipts, traces, images, and voice?
  8. Which household context layers matter first: weather, calendar, budget, storage capacity, or mobility?
  9. Should store/source reliability become a first-class table alongside price observations?
  10. How do we track exploration maturity without making docs heavy to maintain?

17. ShopStack Deep Exploration Status Map β€” Travel-Agent-Style Inventory (2026-06-09)

This is the deeper exploration structure that should have been added first: a status-and-gap map like travel_agency_agent/EXPLORATION_MAP.md, but for ShopStack. It is intentionally broad and detailed. It distinguishes what exists, what is only theorized, what is missing, and what deserves priority.

17.0 Status Legend

Symbol Meaning
βœ… Built/researched with concrete docs, code, tests, or verified evidence
🟑 Partially explored or partially built; needs validation or completion
❌ Identified gap; little/no durable research or implementation
πŸ”΅ New angle opened by this exploration pass
πŸ§ͺ Needs benchmark/dogfood evidence before promotion

Priority scale:

  • P0 β€” existential for credible demo/product wedge.
  • P1 β€” critical for launch-quality product.
  • P2 β€” strategic expansion / moat.
  • P3 β€” moonshot or later-stage platform option.

A. Household Customer & User Research

Area Status Critical Gap Priority
A1. Real household interviews ❌ No structured interviews with Indian households, parents, students, shared flats, helpers, elder/caregiver users P0
A2. Day-in-the-life shopping shadowing ❌ No observed shopping trips from list-making through purchase/reconcile/use-soon P0
A3. Domestic helper workflow research πŸ”΅ Helper-led shopping/inventory is a distinct user role with language/trust constraints P1
A4. Shared-flat / hostel behavior πŸ”΅ Ownership, split-cost, β€œwho used it,” and low-friction correction patterns unknown P1
A5. Elder/caregiver household research πŸ”΅ Accessibility, low-vision, medicine-adjacent safety, and remote check-in needs unvalidated P1
A6. Willingness-to-pay ❌ No pricing validation: free local tool vs family sync vs market intelligence vs caregiver plan P1
A7. Non-consumption research πŸ”΅ Why do households not use inventory apps? Friction, shame, setup burden, habit failure P0
A8. Cultural/language phrase research 🟑 Hinglish examples exist, but no corpus of real household commands P0

B. Core Product Wedge & Feature Validation

Area Status Critical Gap Priority
B1. Wedge product identification 🟑 Many features exist; not validated which one makes users come back daily P0
B2. Receipt-to-inventory wedge 🟑 Pipeline discussed/built partially; needs real receipt dogfood and review UX P0
B3. β€œDo I need this?” Market Lens wedge 🟑 Strong concept; needs real market photo/audio tests P0
B4. Use-soon / waste prevention wedge 🟑 Logic exists; needs household behavior validation and no-shame UX P1
B5. Price memory wedge 🟑 Swiggy/source adapters exist; real user perceived value untested P1
B6. Household map / find item wedge 🟑 Built conceptually; needs spatial UX validation P1
B7. Meal planning from stock πŸ”΅ High adjacent value but may distract unless tied to use-soon/waste P2
B8. Festival/event planning πŸ”΅ Strong India-specific seasonal wedge; not researched P2
B9. Caregiver β€œnever run out” mode πŸ”΅ High trust/value vertical; requires safety and permissions P2

C. Inventory, Memory, and Data Model

Area Status Critical Gap Priority
C1. Inventory lots and CRUD βœ… Built/tested; needs real-world correction flow stress tests P0
C2. Event ledger / audit trail 🟑 Traces exist, but canonical event-sourced household ledger is not formalized P0
C3. Lot merge/split/correction model ❌ Real receipts/photos will create duplicate/partial lots; correction semantics missing P0
C4. Multi-user household model ❌ User columns exist but no real roles/permissions/conflict model P1
C5. Household location ontology 🟑 Locations seeded; user-editable shelf/zone model needs research P1
C6. Item taxonomy and aliases 🟑 Canonicalization exists, but no robust Indian household taxonomy/dataset P0
C7. Unit and pack grammar 🟑 Unit parsing exists in market data; packet/receipt/general grammar needs hard examples P1
C8. Shelf-life/freshness rules 🟑 Produce metadata exists; broader item shelf-life database incomplete P1
C9. Preference memory 🟑 Field notes/preference ideas exist; no canonical preference schema P2
C10. Backup/restore/encryption 🟑 Portability exists; encrypted household snapshots need exploration P1

D. Shopping List, Basket, and Decision Logic

Area Status Critical Gap Priority
D1. Shopping list CRUD/complete βœ… Built/tested; needs multi-user and real purchase reconciliation P0
D2. Buy/skip/use-soon classification βœ…/🟑 Built; needs real-world benchmark and explanation calibration P0
D3. Basket-level recommendations 🟑 Item-level decisions exist; basket budget/travel/source optimization incomplete P1
D4. Confirmation thresholds ❌ No formal autonomy/confirmation policy by action risk P0
D5. Review queue for uncertain decisions ❌ Critical missing UI/contract for OCR/vision/model ambiguity P0
D6. Budget-aware decisions πŸ”΅ No household budget/pay-cycle integration P2
D7. Substitute recommendations πŸ”΅ Needs item taxonomy, preferences, price, and availability P2
D8. β€œWatch” state for stale/uncertain data πŸ”΅ Decision taxonomy should downgrade stale-source recommendations P1

E. Receipts, OCR, Packet Labels, and Purchase Reconciliation

Area Status Critical Gap Priority
E1. Real receipt OCR 🟑 Tesseract works better than GLM-OCR on real photos; robust pipeline not finalized P0
E2. Receipt-to-purchase event schema 🟑 Service exists; needs review, merge/split, tax/fees, store/source provenance P0
E3. Packet expiry/MRP extraction ❌ Core in-store/home scan use case; no benchmark or UX P0
E4. Indian receipt layout corpus ❌ Need kirana, supermarket, pharmacy, delivery, thermal, mixed-language examples P0
E5. OCR preprocessing πŸ”΅ Deskew, crop, contrast, binarize, dewarp, table regions not evaluated P1
E6. MRP vs sale price disambiguation ❌ High-risk; wrong price memory if confused P1
E7. Manufacturing vs expiry/best-before ❌ High-risk; needs hard rule/model benchmark P1
E8. Receipt privacy redaction 🟑 Trace redaction exists; receipt image/text redaction needs stricter rules P1
E9. Email/WhatsApp receipt ingestion πŸ”΅ Strong acquisition path; not researched P2

F. Voice, Conversational UX, and Multilingual Support

Area Status Critical Gap Priority
F1. Voice add command βœ…/🟑 Tests exist; needs real audio and Hinglish corpus P0
F2. Market-mode voice ❌ No noisy outdoor benchmark or short-response UX validation P0
F3. Hindi/Hinglish support 🟑 Examples exist; no real corpus, ASR eval, or fallback strategy P0
F4. Voice correction flow ❌ β€œNo, this is onion not potato” needs explicit state machine P1
F5. TTS model selection 🟑 HF candidates mapped; no pronunciation/listening benchmark P1
F6. Wake-word / push-to-talk πŸ”΅ Hands-free kitchen mode vs privacy risk not explored P2
F7. Multi-speaker household audio πŸ”΅ Speaker diarization/user attribution not explored P3

G. Vision, Market Lens, Shelf/Fridge Understanding

Area Status Critical Gap Priority
G1. Barcode + image scan surface βœ…/🟑 Built/tested partially; real scan quality unknown P0
G2. Product photo identification 🟑 VLM candidates exist; no fixed household/market image benchmark P0
G3. Fridge/pantry scan πŸ”΅ Huge value; needs zone model, confidence, and correction UX P1
G4. Shelf/location snapshot memory πŸ”΅ Same-shelf/same-item embeddings and last-seen memory not built P2
G5. Freshness/ripeness detection πŸ”΅ Valuable for produce; high false-claim risk P2
G6. Segmentation/cropping 🟑 RMBG exists; ClipSeg/BiRefNet/RMBG-2.0 not benchmarked P1
G7. Visual uncertainty UX ❌ Need review cards and β€œnot sure” states; avoid overconfident wrong labels P0
G8. AR/find-item mode πŸ”΅ Interesting later; depends on spatial memory maturity P3

H. Market Intelligence, Retail Sources, and Store Reliability

Area Status Critical Gap Priority
H1. Swiggy data source βœ…/🟑 Built snapshot loader; freshness and real coverage limits need product copy P0
H2. Blinkit/Zepto/DMart adapters 🟑 Mentioned/built in docs/tests; need current verification and source reliability map P1
H3. Kirana/manual quote memory πŸ”΅ Critical India-local angle; no schema/workflow P1
H4. Store/source reliability scoring πŸ”΅ Price alone is insufficient; need freshness, substitutions, returns, punctuality P1
H5. Community price commons πŸ”΅ Strong moat; privacy/staleness/trust issues unsolved P2
H6. Basket-level store choice πŸ”΅ Compare total basket + travel + freshness, not item price only P1
H7. Price anomaly detection 🟑 Basic price memory exists; no robust anomaly/freshness scoring P1
H8. Scraping/API ethics ❌ Need official/user-provided/public/unsafe source classification P1
H9. Delivery vs walk/drive tradeoff πŸ”΅ Travel-worth-it score needs weather/time/carrying capacity P2

I. Household Context Intelligence

Area Status Critical Gap Priority
I1. Weather/trip context 🟑 Schema/docs exist; needs decision integration and validation P1
I2. Calendar/event context πŸ”΅ Guests, festivals, fasting, school/work schedules not modeled P2
I3. Storage capacity context πŸ”΅ Fridge/freezer/pantry capacity affects bulk-buy and freshness decisions P2
I4. Health/diet/allergy context πŸ”΅ Useful but safety-sensitive; no medical claims P2
I5. Budget/pay-cycle context πŸ”΅ Monthly stocking and payday cycles likely matter; unresearched P2
I6. Mobility/accessibility context πŸ”΅ Elder/caregiver and carrying capacity decisions unmodeled P2
I7. Seasonality/festival demand πŸ”΅ India-specific product moat; no dataset P2
I8. Power-cut/monsoon resilience πŸ”΅ Household ops vertical; freshness and emergency stock implications P3

J. AI Pipeline, Model Ops, and Benchmarks

Area Status Critical Gap Priority
J1. Model registry βœ…/🟑 Exists; docs drift vs code must be continuously synced P0
J2. HF pipeline model sweep βœ… Added 2026-06-09 exploration doc; still needs benchmarks P1
J3. Command parser benchmark ❌ Must exist before changing planner defaults P0
J4. Receipt OCR benchmark 🟑 Some evidence exists; needs fixed manifest and real labels P0
J5. Vision benchmark ❌ Need product/photo benchmark for Market Lens/fridge scans P0
J6. Voice benchmark ❌ Need audio fixtures for ASR/TTS choices P0
J7. Alias/embedding benchmark ❌ Needed before semantic search promotion P1
J8. Decision benchmark ❌ Need expected buy/skip/use-soon cases with inventory/source context P0
J9. Cost/latency model routing 🟑 Local/cloud providers exist; routing by task complexity not fully documented P1
J10. Fine-tuned parser LoRA 🟑 Candidate exists; dataset/training/eval not done P1
J11. Model drift/error capture πŸ”΅ Corrections should feed benchmark/fine-tune data P1

K. Privacy, Safety, Trust, and Governance

Area Status Critical Gap Priority
K1. Trace redaction βœ…/🟑 Exists; needs image/receipt/audio extension P0
K2. Public demo strict mode πŸ”΅ Needed for hackathon/social sharing safety P0
K3. Household data export/delete 🟑 Portability exists; privacy UX and deletion semantics need work P1
K4. Encrypted backup πŸ”΅ Important for trust; not built P1
K5. Nutrition/health claim guardrails ❌ Nutrition fields exist; no safety language/policy P1
K6. Auto-action governance ❌ Need autonomy levels, confirmation thresholds, never-automate list P0
K7. Multi-user permissions ❌ Needed before shared household/caregiver modes P1
K8. Receipt/image PII redaction ❌ Critical for public trace/dataset publication P0
K9. Source freshness disclaimers 🟑 Some copy exists; should be uniform across all recommendations P1

L. UX, Design, Accessibility, and Operator Workbench

Area Status Critical Gap Priority
L1. Decision-first Today βœ…/🟑 Implemented per docs; needs real usage validation P0
L2. Review queue/workbench ❌ Missing central surface for uncertain signals P0
L3. Market-mode mobile UX ❌ Gradio desktop-ish UI may fail in market; needs mobile/touch flow P0
L4. Kitchen hands-free UX πŸ”΅ Useful; needs voice/privacy tradeoff research P2
L5. Accessibility / low vision 🟑 CSS/design notes exist; no real audit for elder/low-vision users P1
L6. Empty-state onboarding πŸ”΅ Setup burden is existential; needs sample data/import wizard P1
L7. No-shame waste UX πŸ”΅ Waste prevention can feel judgmental; needs tone exploration P1
L8. Debug/operator view 🟑 Runtime diagnostics exist; per-decision provenance view missing P1
L9. Shareable cards/reports 🟑 Image gen/card ideas exist; factual deterministic rendering policy needed P2

M. Integrations and Platform Surface

Area Status Critical Gap Priority
M1. WhatsApp import/export πŸ”΅ High India fit; no implementation/research P1
M2. Email receipt ingestion πŸ”΅ Strong passive data capture; privacy/auth complexity P2
M3. Browser extension for grocery carts πŸ”΅ Strong online-shopping wedge; not researched P2
M4. Mobile/PWA capture path 🟑 Mentioned; needs concrete architecture and test P1
M5. Calendar/reminder integration πŸ”΅ Use-soon and shopping reminders; not researched P2
M6. Label printer / pantry labels πŸ”΅ Nice household ops extension P3
M7. Home Assistant/smart fridge/camera πŸ”΅ Future ambient inventory path P3
M8. Public product/barcode DBs 🟑 Barcode decode exists; product metadata source strategy missing P1

N. Business Model, Distribution, and Growth

Area Status Critical Gap Priority
N1. Hackathon positioning 🟑 Product story exists; needs final wedge and proof video P0
N2. Product naming/positioning 🟑 ShopStack/ShopStock architecture clarified; tagline tests missing P1
N3. Pricing/packaging ❌ No validation for free/local vs paid sync/market/caregiver plans P2
N4. Community launch channels 🟑 Channels listed; no execution plan or asset map P1
N5. Free tools / SEO πŸ”΅ Many ideas; no priority or build plan P2
N6. Apartment/community pilot πŸ”΅ Strong distribution wedge; needs privacy/community research P2
N7. Kirana/seller partnership πŸ”΅ Potential B2B2C angle; needs validation P3
N8. Data/dataset publishing story 🟑 Dataset ideas exist; no public/private split finalized P1

O. Operations, QA, Docs, and Project Hygiene

Area Status Critical Gap Priority
O1. Feature map / roadmap / decision records βœ…/🟑 Exist; some drift visible, needs regular sync P0
O2. Exploration maturity tracking πŸ”΅ Need statuses/evidence paths like Travel Agent P1
O3. Demo reproducibility 🟑 Demo script exists; final hackathon walkthrough checklist needed P1
O4. Data catalog ❌ JSON/CSV/YAML sources need canonical catalog and validation P1
O5. Benchmark results registry 🟑 Benchmark docs exist; model/task eval registry missing P1
O6. CI/deployment verification 🟑 Docs mention gaps/drift; current status needs verification P1
O7. Screenshot/artifact handling 🟑 Need disciplined Docs/review/assets/ policy P2
O8. Public limitation/claims docs 🟑 Need clear limitations: stale prices, OCR errors, no medical guarantees P0

P. New Research Areas Not Previously Covered Deeply

  1. Household correction semantics πŸ”΅ β€” amend/reverse/merge/split/overwrite event model for all inventory and receipt mistakes.
  2. Strict public-demo safety system πŸ”΅ β€” block unsafe trace/image/receipt export.
  3. Source reliability and freshness scoring πŸ”΅ β€” every external price/availability needs trust metadata.
  4. Review queue as product core πŸ”΅ β€” turn uncertain model outputs into a daily correction workbench.
  5. Household autonomy gradient πŸ”΅ β€” action risk classification and governance.
  6. Real household command corpus πŸ”΅ β€” Hinglish, English, Hindi, corrections, noisy-market utterances.
  7. Indian receipt/packet label corpus πŸ”΅ β€” kirana, supermarket, pharmacy, quick-commerce, bilingual, thermal, crumpled, low-light.
  8. No-shame waste coaching πŸ”΅ β€” behavior design for reducing waste without guilt.
  9. Kirana/manual quote memory πŸ”΅ β€” bridge offline retail and quick-commerce data.
  10. Household context scoring πŸ”΅ β€” weather, calendar, storage, budget, mobility, seasonality.
  11. Community price commons πŸ”΅ β€” privacy-preserving neighborhood price data.
  12. Caregiver/elder household mode πŸ”΅ β€” accessibility, permissions, remote family trust, never-run-out items.
  13. Apartment/shared-flat mode πŸ”΅ β€” split costs, ownership, accountability, shared vs personal shelves.
  14. Passive ingestion moat πŸ”΅ β€” email receipts, WhatsApp orders, browser carts, loyalty messages.
  15. Model-error-to-benchmark loop πŸ”΅ β€” one-click promotion of failures into evals.

17.1 Research Priority Recommendations

Tier 1 β€” Existential / Must Do for Credible Demo

# Research Area Why Effort
1 Wedge validation: receipt-to-inventory vs Market Lens vs use-soon Current scope is broad; need one irresistible demo path 2-4 days
2 Real household command corpus + parser benchmark Voice/text is core; without eval, model choices are vibes 2-3 days
3 Real receipt + packet OCR benchmark Receipt ingestion is likely the strongest passive wedge 3-5 days
4 Review queue contract and UX Every imperfect model needs correction; this is core product safety 2-4 days
5 Autonomy/confirmation policy Prevent unsafe mutation and overclaiming 1-2 days
6 Public demo strict privacy mode Required before sharing traces/screenshots/receipts 1-2 days
7 Market Lens real-photo dogfood Validate β€œDo I need this?” in actual shopping context 2-3 days
8 Limitations/claims doc Must be honest about stale prices, OCR, nutrition, privacy 1 day

Tier 2 β€” Critical for Launch Quality

# Research Area Why Effort
9 Item taxonomy + aliases dataset Powers parser, search, receipts, embeddings, substitutions 3-5 days
10 Source reliability scoring Price intelligence needs trust/freshness, not just numbers 2-3 days
11 Lot correction semantics Real data will be messy; correction must be first-class 2-3 days
12 Mobile/market-mode UX Desktop Gradio is not enough for shopping context 2-4 days
13 TTS/STT benchmark Voice-first claim requires real audio evidence 2-3 days
14 Data catalog and validation Data/config is product architecture 1-2 days
15 Encrypted backup/export/delete story Trust and portability for private household data 2-4 days

Tier 3 β€” Strategic / Moat

# Research Area Why Effort
16 Kirana/manual quote memory India-local differentiation 1 week
17 Community price commons Network/data moat, but trust-heavy 1-2 weeks
18 Caregiver/elder mode High-value vertical with trust needs 1 week
19 Festival/event planning Strong seasonal Indian household behavior 3-5 days
20 Browser/WhatsApp/email passive ingestion Creates compounding memory with less manual entry 1-2 weeks
21 Household context scoring Differentiates from plain inventory apps 1 week
22 Programmatic free tools/content Acquisition engine after product wedge is clear ongoing

17.2 Exploration Statistics Snapshot

Approximate status across the table above:

Metric Approx count
Deep categories 15
Specific rows/status items 120+
Clearly built or strongly documented 15-20
Partial / needs validation 35-45
True gaps 35-45
New angles opened 40+
P0 existential items 20+

Takeaway: ShopStack has a lot built, but the main gap is real-world validation and correction infrastructure. The permanent product path is not β€œadd more models”; it is household signal β†’ normalized memory β†’ safe decision bundle β†’ review/confirmation β†’ benchmark feedback loop.


18. Exhaustive Scenario, Persona, Edge-Case, and Benchmark Expansion (2026-06-09)

This section fills the remaining obvious exploration gaps: concrete scenarios, personas, lifecycle maps, failure catalogs, model-by-task benchmarks, data moat, commercial expansion, free tools, operations, and safety/regulatory surfaces.

18.1 Persona Matrix

Persona Core job Pain ShopStack wedge Special constraints
Primary household shopper Buy what is needed, avoid duplicates Mental inventory burden β€œDo we need this?” + list + receipt reconcile Speed, trust, low setup
Secondary family member Check/add items occasionally Doesn’t know where things are Ask/search/find item Simple UI, limited permissions
Domestic helper Execute shopping/restocking tasks Language, confirmation, accountability Voice list, photo receipt, review queue Hindi/Hinglish, no complex forms
Elder user Know stock and avoid running out Low vision, memory, mobility Voice-first never-run-out mode Accessibility, caregiver permissions
Caregiver/remote family Monitor essentials for someone else Can’t see what’s at home Shared stock dashboard + alerts Privacy/consent, low false alarms
Student/hostel user Manage cheap staples Budget, shared fridge chaos Budget basket + shared shelf Low cost, mobile-first
Shared-flat roommate Split shared vs personal items Disputes and freeloading Ownership, consume log, split cost Social friction, audit trail
Parent/home cook Plan meals from stock Waste and repeated shopping Use-soon meals + festival/event planning No-shame tone, dietary preferences
Budget optimizer Spend less over time Unit-price confusion Price memory + high-price alerts Accurate source freshness
Health-conscious shopper Track nutrition/allergens Label overload Packet label parser + caution flags No medical overclaims
Quick-commerce power user Compare apps quickly App switching, dynamic prices Basket comparison + source memory Stale data warnings
Kirana-first shopper Buy locally/offline No digital data Manual quote/receipt memory Offline-first, WhatsApp-friendly
Apartment/community admin Coordinate bulk buys Demand aggregation, fairness Community basket + split logistics Consent, settlement, governance
Kirana owner Serve repeat households Remember preferences/orders Seller-side household memory Separate product, B2B trust
Hackathon judge/builder Understand small-model value Demo clarity Transparent model/pipeline evidence Field notes, benchmark artifacts

18.2 Household Scenario Library

Before Shopping

  • User asks β€œwhat should I buy today?” and expects low-stock, use-soon, and price-aware suggestions.
  • User creates list from voice while cooking.
  • User checks whether staples are enough for the week.
  • User plans shopping around rain/heat/market day.
  • User needs a budget basket under β‚Ή500.
  • User checks if Sunday market is worth the trip.
  • User wants to avoid buying duplicate detergent/rice/oil.
  • User plans groceries before guests arrive.
  • User plans festival shopping with bulk sweets/oil/flour/dry fruits.
  • User needs a β€œquick top-up” list after returning from travel.

During Shopping

  • User scans tomatoes and asks if price is high.
  • User scans a packet and asks whether it is already at home.
  • User asks if the visible expiry date is too soon.
  • User asks which pack size is cheaper by unit.
  • User sees substitute brand and asks if household usually accepts it.
  • User records a kirana quote by voice.
  • User asks whether to walk to another store for cheaper produce.
  • User corrects model: β€œno, this is coriander not spinach.”
  • User cannot read small MRP/expiry text and needs OCR.
  • User is in noisy market and wants one-sentence answer.

After Shopping

  • User photographs receipt and wants inventory updated.
  • User photographs all groceries on the counter.
  • User marks purchased list items and adds prices.
  • User splits receipt into inventory vs household expense only.
  • User records store freshness rating.
  • User reconciles duplicate lots after OCR error.
  • User adds expiry dates from packet closeups.
  • User moves items to fridge/pantry/bathroom cabinet.
  • User shares weekly spend/waste summary.
  • User exports redacted trace for demo/field notes.

At Home

  • User asks where the dahi is.
  • User asks what can be cooked without shopping.
  • User asks what expires first.
  • User consumes half a packet and updates quantity.
  • User finds old item hidden behind shelf.
  • User scans fridge before leaving for store.
  • User wants lunchbox ideas from use-soon items.
  • User asks if baby formula/pet food is enough.
  • User gets reminder before milk/bread stockout.
  • User wants to reduce waste without guilt.

Shared Household / Caregiver

  • Roommate consumes shared milk; others need visibility.
  • One user buys item another already bought.
  • Helper buys groceries and sends receipt photo.
  • Caregiver checks elder household essentials remotely.
  • Parent asks kid to check fridge with photo.
  • Apartment group coordinates bulk rice/oil order.
  • Household member disputes an auto-applied consume event.
  • User wants private personal shelf hidden from others.
  • Remote family wants alerts only for critical items.
  • Helper needs voice-only shopping confirmation.

18.3 Lifecycle Maps

Item Lifecycle

Need detected β†’ list candidate β†’ bought β†’ receipt/price observed β†’ stored β†’ moved
β†’ opened β†’ partially consumed β†’ use-soon β†’ consumed / wasted / donated β†’ learned

State questions:

  • What event created the item?
  • Which source is trusted for quantity/price/expiry?
  • Is this a new lot or duplicate?
  • Who confirmed it?
  • What correction history exists?
  • What did the system learn for next time?

Shopping Decision Lifecycle

Signal β†’ normalize β†’ compare against inventory β†’ enrich with price/source/context
β†’ classify β†’ explain β†’ confirm β†’ apply β†’ trace β†’ benchmark failure if corrected

Receipt Lifecycle

Image/email/WhatsApp β†’ preprocess β†’ OCR β†’ line grouping β†’ structured extraction
β†’ source/price provenance β†’ duplicate detection β†’ review queue β†’ inventory/price events

Model Failure Lifecycle

Bad output β†’ user correction β†’ capture raw input + expected output β†’ redact β†’ fixture
β†’ benchmark run β†’ candidate prompt/model/config β†’ keep/discard log

18.4 Edge-Case and Failure Catalog

Category Edge cases to explore
OCR/receipts crumpled receipt, thermal fading, mixed Hindi/English, right-aligned prices, discounts, taxes, delivery fees, refund lines, unreadable totals, duplicate receipt photo
Packet labels MRP vs sale price, mfg vs expiry vs best-before, date format ambiguity, batch number mistaken as date, tiny font, curved packet, reflective packaging
Voice negation missed, noisy market, mixed language, brand homophones, quantity omitted, correction utterance, multi-speaker command, child voice
Inventory duplicate lot, partial consume, item moved without logging, stale quantity, opened vs unopened, household member disagreement, unit conversion error
Market price stale app snapshot, unavailable item, combo pack, delivery fee hidden, quality lower despite cheaper price, store substitution, region mismatch
Vision similar produce, occluded shelf, transparent containers, unlabeled jars, multiple items in one frame, overconfident wrong VLM label
Shared household two users edit same item, private vs shared item, helper permissions, remote caregiver override, split-cost dispute
Privacy receipt phone/address, UPI/card token, face in fridge photo, child voice/audio, household names in trace, location metadata in image
Safety nutrition overclaim, medicine-like item advice, allergy false negative, spoiled food missed, auto-delete or auto-purchase risk
Offline/runtime model missing, HF download fails, OCR timeout, DB locked, backup restore conflict, source adapter schema drift

18.5 Feature Universe Backlog

Cluster Feature ideas
Capture voice command, receipt photo, packet scan, fridge photo, shelf photo, barcode, email receipt, WhatsApp receipt/list, browser cart import
Normalize item aliases, brand mapping, unit grammar, pack-size parser, expiry parser, store/source canonicalization, household location ontology
Decide buy/skip/use-soon/watch/compare/confirm, budget basket, stockout prediction, waste risk, travel-worth-it, source reliability, substitution
Reconcile review queue, merge/split lots, undo/reverse event, duplicate receipt detection, price-only observation, correction-to-fixture
Remember price history, store quality, household preferences, recurring cadence, shelf locations, last-seen photo, field notes, model traces
Act shopping list, reminders, label print, calendar reminder, family summary, helper handoff, caregiver alert, community bulk-buy request
Explain why buy/skip, source freshness, confidence, fallback path, data provenance, no-medical-claim caveat, stale price warning
Share redacted trace export, weekly digest, spend/waste report, public demo dataset, field notes, shareable card
Admin model status, source adapter health, data catalog, backup/export/delete, autonomy settings, permissions, privacy guard

18.6 Model-by-Task Benchmark Matrix

Task Candidate models/tools Metric Must-have fixture set
ASR command transcription SenseVoice, Qwen3-ASR, Parakeet, Whisper, WhisperKit WER + slot retention + latency 100 Hinglish/English/noisy commands
Intent classification Qwen small, Gemma small, DistilBERT, rules intent F1, confusion matrix add/move/consume/find/price/check/correct
Slot extraction parser LoRA, Qwen, token classifier, rules exact item/qty/unit/location accuracy household command corpus
Tool-call generation Qwen3.5/4B, MiniCPM5, GGUF Llama/LFM valid JSON, executable calls, no unsafe action 200 command/action cases
Receipt OCR Tesseract, PaddleOCR, GLM-OCR, TrOCR, Donut field accuracy, row grouping, latency 100 Indian receipts
Packet OCR OCR + VLM expiry/MRP/date disambiguation 100 packet labels
VLM item ID MiniCPM-V, Qwen2.5-VL, BLIP/ViLT baselines top-1/top-3, abstain quality 100 market/fridge photos
Object detection DETR, YOLOS, RT-DETR, table/document detectors box recall/precision shelf/receipt/table crops
Segmentation RMBG, BiRefNet, ClipSeg, SegFormer mask IoU, visual usefulness item card/shelf zone images
Embeddings BGE-M3, Qwen3 Embedding, E5, Jina, MiniLM top-k alias retrieval 1k alias/canonical pairs
Reranking BGE reranker top-1 after retrieve hard alias negatives
Decision classifier rules + model explanations expected class accuracy + explanation faithfulness inventory+price+context scenarios
  • Current STT note: Qwen3-ASR-1.7B is now benchmarked on the 20-command Hinglish set with transliteration-aware scoring: 34.46% WER, 55.6% slot retention, 1.11s latency. It outputs Devanagari script, so the quality score only makes sense after Latin transliteration. | TTS | Kokoro, Qwen TTS, Indic Parler, CosyVoice, VibeVoice | pronunciation, MOS, latency | grocery terms + short replies | | Privacy redaction | regex, NER, OCR boxes, face detector | leak recall, false positives | receipts/images/traces/audio transcripts |

18.7 Data Moat and Dataset Strategy

Dataset Public? Why valuable Risks
Household command corpus Public synthetic + private real Parser/fine-tune moat Household language privacy
Indian item alias graph Public Core search/parser value Regional bias/staleness
Receipt OCR corpus Mostly private/redacted synthetic Receipt-to-inventory benchmark Phone/address/payment leakage
Packet label corpus Public/private mix Expiry/MRP extraction Brand/copyright/photos
Price observation history Private/aggregate public Store/source intelligence Stale/misleading prices
Store reliability observations Private/aggregate public Quality moat beyond price Defamation/fairness concerns
Fridge/shelf images Private only by default Spatial memory/VLM eval Faces/home privacy/location metadata
Correction traces Redacted public subset Model improvement and Field Notes Raw private content leakage
Use-soon/waste outcomes Private/aggregate Waste coaching efficacy Shame/sensitive household behavior
Community basket data Consent-only aggregate Group buying/network effects Consent/governance/trust

18.8 Commercial and Expansion Map

Segment Product Why it could work Research needed
Individual households Free/local inventory + shopping memory Broad wedge, privacy-friendly Setup friction, retention
Families Sync, shared permissions, reminders Multi-user value Permissions, pricing
Caregivers Never-run-out essentials + remote alerts High pain/trust Safety, elder UX
Shared flats/hostels Shared pantry + split costs Clear social pain Dispute avoidance
Apartment societies Bulk-buy coordination Network effects Governance/payment logistics
Kirana stores Repeat household memory / WhatsApp ordering Offline commerce bridge Seller workflows
Quick-commerce users Basket comparison and price memory Existing digital behavior Source data access
Health/wellness users Label/nutrition caution High engagement Claim boundaries
Hackathon/builders Small-model multimodal case study Demo/credibility Field notes/benchmarks
Data/API product Aggregated price/alias/source intelligence Moat if consented Privacy/legal/commercial demand

18.9 Programmatic Content and Free Tools

Tool/content Audience Data needed Product tie-in
Unit-price calculator Budget shoppers pack sizes, units Price memory
β€œIs this price high?” checker Market shoppers price history/snapshots Market Lens
Receipt-to-spend summary Families OCR receipt Receipt ingestion
Expiry label parser demo Anyone scanning packets OCR labels Packet scan
Food waste estimator Home cooks inventory/use-soon Waste coach
Festival shopping planner Indian households festival lists Event planning
Rainy-day grocery checklist Weather-aware shoppers weather + staples Context intelligence
Bulk-buy break-even calculator Apartments/families unit prices/storage Community buying
Pantry audit checklist New users item taxonomy Onboarding
Grocery alias explorer Builders/judges alias graph Dataset story
β€œWhat can I cook?” mini-tool Home cooks inventory + recipes Meal planning
Caregiver essentials checklist Caregivers essential categories Elder mode

18.10 Regulatory, Safety, and Claims Expansion

Surface Rule to research/document
Nutrition Provide informational label extraction, not diet/medical advice.
Allergens Warn only from explicit label/user data; never guarantee safety.
Medicines/pharmacy Track stock/expiry only; no dosage/medical guidance.
Prices Always show source and freshness; avoid β€œbest price” guarantee if stale.
Community data Consent, aggregation thresholds, removal rights, anti-abuse.
Receipts Redact phone/address/payment IDs before sharing/export.
Household images Strip EXIF/location; detect faces/private content before public use.
Child/elder data Extra consent and conservative sharing defaults.
Auto-actions No auto-purchase; no destructive delete without confirmation.
Public demo Synthetic/redacted data by default; strict leakage guard.

18.11 Operations and Quality System

Operational system Purpose
Data catalog Every JSON/CSV/YAML/source snapshot has owner, schema, freshness, tests.
Benchmark registry Every model/pipeline candidate has fixed eval, score, latency, keep/discard.
Source adapter monitor Detect schema drift, stale snapshots, unit parsing failures.
Redaction review Gate traces/images/receipts before public export.
Demo mode Deterministic seeded data and walkthrough reset.
Backup/restore drill Prove household memory can be exported/restored.
Failure fixture promotion Corrections become regression tests.
Claims checklist Validate UI/docs copy against actual capabilities.
Exploration maturity tracker Each idea has status, evidence path, priority, and last verified date.
Dogfood log Real household/market sessions with outcomes and failures.

18.12 More Open Questions

  1. What exact 3-minute demo proves value fastest: receipt, market scan, or use-soon?
  2. Which persona should the product optimize for first: primary shopper, helper, caregiver, or shared-flat user?
  3. What is the minimum review queue that makes imperfect models useful rather than annoying?
  4. Which household corrections should alter future model behavior automatically?
  5. How much setup can users tolerate before seeing value?
  6. What data should never leave the device, even with consent?
  7. Can stale price/source uncertainty be explained in one short line?
  8. Is the moat item aliases, receipt corpus, price memory, source reliability, or correction traces?
  9. Should ShopStack sell sync/backup, intelligence, or community buying first?
  10. What feature would a household still use after the hackathon novelty fades?

Last updated: 2026-06-09