ShopBee — "You said you needed it. Bee remembers."

Inspiration

Every time you mention something you need during a conversation — "I should get a new keyboard" or "we need a USB-C cable" — it gets lost in the noise of chat history. You know you said it, but finding that specific mention later is like searching for a needle in a haystack. ShopBee was born from a simple idea: what if your assistant remembered what you needed? Instead of manually tracking shopping lists or remembering to buy things later, ShopBee quietly captures those natural shopping mentions and turns them into actionable items with Amazon links ready to go.

What it does

ShopBee is a Python-based Bee Skill that detects shopping intent from your conversations and adds items to your Amazon cart via Alexa Shopping Actions. Here's the flow:

  1. Capture — When you naturally say "I need a USB-C cable" in conversation, ShopBee captures it
  2. Remember — The mention is stored with context (conversation ID, timestamp, confidence score)
  3. Recall — Ask "What did I say I needed?" and ShopBee finds the product on Amazon
  4. Act — Confirm and add to your shopping cart via AMAZON.AddToShoppingCart

It works across multiple data sources — conversations from Bee CLI, pending todos, and personal facts — combining them into a unified shopping list with confidence scores and direct Amazon links. ShopBee supports both the Bee device and Apple Watch running Bee software, accessing all three official Bee interfaces (CLI, MCP, and Proxy API).

How we built it

ShopBee is organized into four core components:

  • IntentDetector — Analyzes conversation transcripts using regex patterns and keyword matching to identify shopping mentions with confidence scores. It recognizes phrases like "I need a X", "we should get Y", and "looking for Z" across 16+ product categories (cables, chargers, monitors, keyboards, headphones, etc.)

  • AmazonLookup — Searches Amazon's search page via HTTP requests, parses HTML results using BeautifulSoup, and resolves ASINs for products. It includes a caching layer and falls back to direct ASIN lookup when the query looks like an ASIN code.

  • ShoppingActions — Handles Alexa Shopping Actions by building and executing the AMAZON.AddToShoppingCart directive through Bee CLI. The directive follows the official Alexa Skills Kit spec with namespace, name, and payload version.

  • ShopBeeSkill (the main entry point) — Orchestrates all components to provide a unified shopping experience with methods like find_pending_shopping(), add_to_cart(), search_and_add(), and build_shopping_cart().

Challenges we ran into

  • Conversation data normalization — Bee CLI, MCP, and Proxy API return conversation data in different formats. ShopBee handles this by trying multiple extraction strategies (transcript, text, content, summary, utterances) with graceful fallbacks.

  • Amazon HTML parsing — Amazon's search result structure can vary between product types. The parser tries multiple selectors (data-component-type, a-size-base, etc.) and falls back gracefully when a specific selector fails.

  • ASIN inference — When direct lookup isn't available, ShopBee generates deterministic ASINs from MD5 hashes of product names, ensuring consistent results across calls.

  • Multiple access patterns — Supporting CLI, MCP, and Proxy API simultaneously while maintaining feature parity required careful abstraction around the Bee communication layer.

Accomplishments that we're proud of

  • Multi-source shopping detection — Combining conversations, todos, and facts into a single deduplicated shopping list with confidence scores is genuinely useful in practice.

  • Natural language support — The intent detector recognizes dozens of natural phrasings ("I need X", "we should get Y", "X would be great"), not just rigid patterns.

  • Graceful degradation — Every component has fallback paths (web scraping → direct lookup, CLI → API, structured data → string parsing) so ShopBee works reliably even when one path fails.

  • Clean architecture — Four focused modules with clear responsibilities and a simple ShopBeeSkill class that ties everything together without unnecessary complexity.

What we learned

  • Regex patterns are powerful but fragile — Building robust shopping intent detection required iterating on patterns across many real conversation examples to get the balance right between precision and recall.

  • Caching matters for Amazon lookups — The ASIN cache significantly reduces redundant HTTP requests, which is important since Amazon rate-limits aggressively.

  • Multiple data sources beat a single source — Combining conversations with todos gives much better results than either alone, because people express shopping intent differently in different contexts.

  • The Bee ecosystem is flexible — Working across CLI, MCP, and Proxy API showed how the Bee platform supports diverse integration patterns without requiring deep coupling to any one interface.

What's next for ShopBee

  • Price tracking — Monitor prices of saved items and alert when they drop
  • Wishlist management — Sync with Amazon Wish Lists for longer-term shopping
  • Smart recommendations — Use purchase history and facts to suggest related products
  • Voice integration — Enhanced voice support through Alexa for hands-free shopping
  • More product categories — Expand beyond electronics to groceries, home goods, and more
  • Shopping list sharing — Share your ShopBee list with family or roommates

Built With

Share this project:

Updates

Submission history