Skip to main content
Status: Planned Tier: Pro

Overview

You know what strain you want. You just do not know where to get it. Today, finding a specific strain at a nearby dispensary means checking multiple dispensary websites, scrolling through Dutchie menus, or calling ahead. It is a frustrating experience that often ends in settling for whatever is available rather than getting what you actually want. The Shopping Agent is an AI-powered assistant — Professor High in shopping mode — that does this work for you. Tell it what you are looking for (“Find OG Kush within 10 miles” or “I need something for sleep under $40 an eighth”), and it checks dispensary menus, compares prices and availability, and returns the best options. It is the ultimate convenience feature: the moment High IQ stops being an information tool and starts being an action tool that directly affects your next purchase decision. This is the capstone feature of the core feature set. It ties together the Dispensary Map (locations), Smart Suggestions (recommendations), strain data (profiles), and AI (Professor High) into a single, actionable experience. You ask. It finds. You go.

What It Does

  • Natural language search — Ask in plain English: “Find Gorilla Glue near me,” “Cheapest eighth of Wedding Cake within 15 miles,” “Something good for focus and creativity under $50”
  • Multi-dispensary menu search — Checks menus at all dispensaries within your specified radius simultaneously
  • Price comparison — Shows the same strain at different dispensaries with pricing so you can compare
  • Availability confidence — Indicates how fresh the availability data is: “Confirmed in stock (updated 2 hours ago)” vs. “Likely in stock (menu data from 3 days ago)”
  • Alternative suggestions — If the exact strain is not available, suggests similar strains that are: “OG Kush is not in stock nearby, but these 3 strains share 80%+ terpene similarity and are available at dispensaries within 5 miles”
  • Budget-aware — Specify a budget and the agent filters and sorts by price-to-quality ratio
  • Effect-based shopping — “I need something for sleep” is translated into terpene and High Family preferences and matched against available inventory
  • Professor High personality — The agent responds in Professor High’s voice: knowledgeable, enthusiastic, and opinionated. “I found Wedding Cake at Green Thumb for $45/eighth — solid price for a strain with this caryophyllene load.”
  • Directions — Tap to navigate to the recommended dispensary with one tap
  • Save to wishlist — Add any suggested strain to your wishlist for future reference
  • Purchase follow-up — After you visit, the agent prompts: “Did you find what you were looking for? Log it to your stash.”

User Value

The “aha moment” is the first time you say “Find me something for pain relief under $40” and the agent returns three dispensaries within 10 miles, each with a caryophyllene-heavy strain in stock at your price point, ranked by quality — and you drive to the best one. High IQ just saved you an hour of research and got you a better product.

How It Works

1

Open Shopping Agent

Launch the Shopping Agent from the home screen or by tapping the shopping cart icon in the Professor High chat. The agent greets you with: “What are you looking for today?”
2

Describe What You Want

Type or speak your request in natural language. The agent understands strain names, effect descriptions, budget constraints, distance limits, and product types (flower, concentrate, edible).
3

Agent Processing

The agent parses your request into structured parameters (strain name or terpene profile, radius, budget, product type), queries dispensary menus within range, and scores results.
4

Results

The agent presents ranked results as cards: dispensary name, strain name, price, distance, availability confidence, and a brief explanation of why this option ranks highly.
5

Refine or Act

Ask follow-up questions (“What about concentrates instead?” or “Show me options further away”), or tap a result to see dispensary details, get directions, or add the strain to your wishlist.
6

Post-Purchase

After visiting a dispensary, the agent offers to log the purchase to your stash and asks for a quick rating. This closes the loop and improves future suggestions.

Technical Approach

Agent Architecture

The Shopping Agent is a tool-calling AI agent built on the existing Professor High infrastructure, extended with real-time data tools:
User Query → Professor High (AI SDK 6 with tool calling)

              Intent Classification
              (strain search, effect search, budget search, restock)

              Tool Calls (parallel where possible):
              ├── Strain Database Search (existing API)
              ├── Dispensary Menu Query (new API)
              ├── Price Comparison Engine (new)
              ├── User Profile Lookup (existing Convex)
              └── Geolocation (existing)

              Result Scoring & Ranking

              Response Generation (Professor High voice)

              Structured Result Cards + Conversational Text

Tool Definitions

The agent has access to these tools via AI SDK 6 autonomous tool calling:
ToolPurposeData Source
searchStrainsFind strains by name, effect, or terpene profileExisting Hono API
queryDispensaryMenusCheck strain availability at nearby dispensariesDispensary menu APIs
comparePricesGet pricing for a strain across multiple dispensariesMenu data + price normalization
getUserProfileRetrieve user’s preferences, history, and locationConvex
getSimilarStrainsFind alternatives when the requested strain is unavailableExisting similarity API
getDirectionsGenerate navigation URL to a dispensaryApple Maps URL scheme
addToWishlistSave a strain to the user’s wishlistConvex mutation

Dispensary Menu Data

The agent’s usefulness depends entirely on the freshness and coverage of dispensary menu data. This is the same data challenge as the Dispensary Map’s strain availability feature, and shares the same infrastructure:
Data SourceFreshnessCoverageIntegration
Dutchie APIReal-timeLarge (many dispensaries)Partnership required
Jane/iHeartJaneReal-timeMediumPartnership required
Direct dispensary feedsVariesPer-dispensaryIndividual partnerships
Periodic web scrapingDailyVariesAutomated with permission
User-reportedOn-contributionGrowingBuilt into the app
Menu data is cached in Supabase with per-dispensary TTLs based on update frequency. The availability confidence indicator reflects cache age.

Conversation Memory

The agent maintains conversation context within a session:
  • Previous queries — “Show me something cheaper” refers to the current results
  • User preferences — Loaded once at session start from the user’s profile
  • Dispensary context — If the user asks about a specific dispensary, subsequent queries are scoped to that location
  • Session state — The agent remembers which results the user has already seen

Fallback Strategies

ScenarioFallback
No menu data available for the areaShow strain profiles without availability; suggest calling dispensaries
Strain not found in any nearby menuSuggest similar strains that are available
No dispensaries within radiusExpand radius and notify user; suggest online options
Menu data is stale (7+ days)Show results with prominent freshness warning
Agent cannot parse the requestAsk clarifying questions in Professor High’s voice

Background Processing

For complex queries (checking 20+ dispensary menus), the agent may take 5-10 seconds. The UI handles this with:
  • Streaming response — Professor High narrates the search process: “Checking menus at 12 dispensaries near you… Found OG Kush at 3 locations… Comparing prices…”
  • Progressive results — Results appear as they are found, not all at once
  • Background task option — For very broad searches, the agent can run in the background and send a push notification when results are ready

Potential Trigger.dev Integration

For scheduled shopping tasks (“alert me when OG Kush is in stock within 10 miles”), the Shopping Agent could spawn Trigger.dev tasks that periodically check dispensary menus and send push notifications when conditions are met. This transforms the agent from reactive to proactive.

Tier Impact

TierAccess
FreeNot available
ProFull shopping agent access: natural language search, price comparison, alternative suggestions, directions, wishlist integration

Dependencies

  • Professor High AI chat infrastructure — built and live
  • AI SDK 6 with tool calling — built and live
  • Strain database and similarity search — built and live
  • Dispensary directory in Convex — built and live
  • Trigger.dev for background tasks — built and live
  • Dispensary menu data partnerships (Dutchie, Jane, or equivalent)
  • Menu data caching and freshness tracking infrastructure
  • Price comparison and normalization engine
  • Shopping-specific tool definitions for the AI agent
  • Result card UI component
  • Conversation memory for multi-turn sessions
  • Dispensary Map integration (planned)
  • Smart Suggestions integration for alternative recommendations (planned)
  • Push notification system for proactive alerts (optional)

Open Questions

  1. Menu data partnerships — This is the single biggest dependency and risk. Without reliable dispensary menu data, the agent cannot check availability or compare prices. Dutchie and Jane are the largest platforms, but partnerships require business development effort. Should we launch with user-reported availability (crowd-sourced) as an MVP while pursuing partnerships?
  2. Proactive vs. reactive — Should the agent be reactive only (you ask, it searches), or also proactive (it monitors and alerts you when something becomes available)? Proactive is much more valuable but requires background task infrastructure and push notifications.
  3. Voice interface — Should the Shopping Agent support voice input? “Hey Professor High, find me some OG Kush” is a natural interaction for someone standing in a dispensary. Voice adds significant complexity (speech-to-text, noise handling) but could be a differentiator.
  4. Affiliate revenue — Could the Shopping Agent generate revenue through dispensary referral fees? “We sent 50 customers to your dispensary this month.” This is a potential business model but must not compromise recommendation objectivity.
  5. Legal considerations — Facilitating cannabis purchases involves legal complexity. Are we “recommending” a purchase or “providing information”? Legal review needed on the agent’s language and disclaimers, especially across state lines.