> ## Documentation Index
> Fetch the complete documentation index at: https://docs.highailabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopping Agent

> Scan any dispensary's live menu with AI, match products against 16,000+ strains, and get personalized recommendations — all before you leave the house.

## Overview

The Shopping Agent turns your dispensary's online menu into a personalized recommendation engine. Open it from any dispensary detail page, tap **Shop Now**, and an AI agent scans the live menu in real time. Every product is matched against the High IQ strain database, scored against your preferences, and returned as a ranked list — so you arrive knowing exactly what to buy.

No more scrolling through unfamiliar product names. No more guessing whether a strain fits your needs. The Shopping Agent bridges the gap between "what is available today" and "what is right for you."

<Snippet file="ios-only-note.mdx" />

<Warning>
  The Shopping Agent is currently in **development** and is not yet enabled in the production App Store release. It is gated behind a feature flag and will roll out to Pro subscribers in a future update. The behavior described below reflects the in-development experience.
</Warning>

## Key Features

<CardGroup cols={2}>
  <Card title="Live Menu Scanning" icon="radar">
    An AI agent reads the dispensary's current online menu in real time using Firecrawl, so results reflect today's actual inventory — not cached data from last week.
  </Card>

  <Card title="Strain Database Matching" icon="database">
    Every scanned product is matched against 16,000+ strains using three-tier matching: exact name, URL slug, and trigram similarity. You get full strain profiles for anything recognized.
  </Card>

  <Card title="Personalized Recommendations" icon="stars">
    AI ranks products based on your favorites, stash, order history, and stated preferences. Items are tagged with context like "Favorite in Stock," "Running Low," and "Bought Before."
  </Card>

  <Card title="New Strain Discovery" icon="magnifying-glass-plus">
    Products not yet in the database are flagged as new discoveries and can be queued for the automated research pipeline with a single tap.
  </Card>

  <Card title="Smart Tags" icon="tags">
    Each product card shows personalization tags that explain why it is ranked where it is — removing the guesswork from dispensary shopping.
  </Card>

  <Card title="Shared Menu Cache" icon="bolt">
    Scan results are cached for 4 hours and shared across all users of the same dispensary, so repeat scans are nearly instant.
  </Card>
</CardGroup>

## How to Use the Shopping Agent

<Steps>
  <Step title="Open a Dispensary">
    Go to the **Dispensaries** screen and tap any saved dispensary. You can also add a new dispensary if the one you plan to visit is not in your list yet.
  </Step>

  <Step title="Tap Shop Now">
    On the dispensary detail page, tap the **Shop Now** button. This opens the Shopping Agent and starts the menu scan process.
  </Step>

  <Step title="Watch the Scan Progress">
    An animated progress screen shows the stages as they complete — fetching the menu, matching strains, personalizing recommendations. Most scans finish in 15–45 seconds. If a fresh scan was completed recently by another user, cached results load instantly.
  </Step>

  <Step title="Browse the Results">
    Results appear in category tabs (Flower, Concentrates, Edibles, Vapes, etc.) with each product showing its strain match quality, personalization tags, and price if available.
  </Step>

  <Step title="Explore Recommendations">
    The AI Recommendations section at the top highlights your best picks with a short explanation of why each one is recommended for you specifically.
  </Step>

  <Step title="Discover New Strains">
    Scroll to the **New Discoveries** tab to see products the database has not seen before. Tap any discovery to queue it for research — once processed, you will get the full strain profile.
  </Step>
</Steps>

## Understanding Your Results

### Product Cards

Each product card shows:

| Element                  | Description                                                             |
| ------------------------ | ----------------------------------------------------------------------- |
| **Strain Name**          | The product name, with a link to the full strain profile if matched     |
| **Match Confidence**     | High, Medium, or Low — how certain the system is about the strain match |
| **Price**                | Extracted from the menu if available                                    |
| **Category**             | Flower, Concentrate, Edible, Vape, Pre-Roll, etc.                       |
| **Personalization Tags** | Context-aware labels (see below)                                        |
| **High Family**          | The strain's experience classification, if matched                      |

### Personalization Tags

Tags are added to products based on your personal High IQ data. A single product can carry multiple tags.

| Tag                     | Meaning                                                                  |
| ----------------------- | ------------------------------------------------------------------------ |
| **Favorite in Stock**   | One of your favorited strains is available today                         |
| **Running Low**         | You have this strain in your stash and it is running low                 |
| **Bought Before**       | You have ordered this strain previously                                  |
| **Similar to Favorite** | Shares a terpene profile and effect character with one of your favorites |
| **Matches Preferences** | Aligns with your preferred strain types and effects                      |
| **New Discovery**       | Not in your order history — a chance to try something new                |
| **Great Deal**          | The product is marked as on sale or shows a notable price reduction      |

<Note>
  Tags are computed from your Convex user data (favorites, stash, order history) and combined with the strain match results. The more data High IQ has about your preferences, the more relevant the tags become.
</Note>

### Match Confidence Levels

The Shopping Agent uses three methods to identify strains, applied in order:

| Confidence | Matching Method                         | What It Means                                                                   |
| ---------- | --------------------------------------- | ------------------------------------------------------------------------------- |
| **High**   | Exact name or slug match                | The product name maps precisely to a known strain in the database               |
| **Medium** | Trigram similarity (similarity > 0.6)   | The name is very similar — likely the same strain with minor spelling variation |
| **Low**    | Trigram similarity (similarity 0.4–0.6) | Possible match — review the strain profile before assuming it is the right one  |

<Tip>
  For Low confidence matches, tap the product to view the matched strain profile and confirm it looks right. If it is wrong, you can flag it — this helps improve matching for everyone.
</Tip>

## AI Recommendations Section

Above the category tabs, the AI Recommendations section highlights your top 3–5 picks from the entire menu. Each recommendation includes:

* The product name and matched strain
* A short plain-English explanation of why it was selected for you
* The personalization tags that contributed to its ranking

This section is generated by **Claude Sonnet** and takes into account your full preference context — not just individual tags, but patterns across your history.

## Scan Progress Stages

While a scan is running, the progress screen shows which stage is active:

| Stage             | Progress | What Is Happening                                                        |
| ----------------- | -------- | ------------------------------------------------------------------------ |
| **Cache Check**   | 5%       | Checking whether a recent scan already exists for this dispensary        |
| **Scraping**      | 10–40%   | AI agent navigating the dispensary's online menu and extracting products |
| **Matching**      | 40–60%   | Comparing extracted products against the strain database                 |
| **Personalizing** | 60–85%   | Ranking results and generating recommendations using your profile        |
| **Saving**        | 85–95%   | Caching results for 4 hours                                              |
| **Complete**      | 100%     | Results are ready                                                        |

<Tip>
  If you close the app during a scan, it continues running in the background. When you return to the dispensary page, results will be waiting if the scan finished.
</Tip>

## New Strain Discovery

When the Shopping Agent finds products that do not match any strain in the database, they appear in the **New Discoveries** tab. These represent real strains available at local dispensaries that have not yet been researched and added to High IQ.

From the New Discoveries tab you can:

* **View all unmatched products** from the current scan
* **Queue any strain for research** — tapping "Add to Research Queue" submits it to the automated strain research pipeline
* **Browse multiple dispensary discoveries** over time from the Discoveries screen

<Note>
  Queued strains are processed by the Trigger.dev strain research pipeline, which gathers genetics data, terpene profiles, effect summaries, and other details from multiple sources. Processing typically completes within a few hours of being queued.
</Note>

## Cache and Freshness

Scan results are cached in Supabase and shared across all High IQ users who shop at the same dispensary. This means:

* **First scan of the day** takes 15–45 seconds
* **Subsequent scans within 4 hours** are instant
* The scan timestamp is shown so you know how fresh the data is

If you need the absolute latest inventory (for example, a product just came in stock), you can force a fresh scan using the **Refresh** button, which bypasses the cache and runs a new scan immediately.

<Warning>
  Menu scanning depends on the dispensary having an accessible online menu. Dispensaries that only post menus on third-party platforms behind paywalls or login walls may not be scannable. If a scan fails, a helpful message explains why.
</Warning>

## Tips for Best Results

<Tip>
  **Add menu URLs to your dispensary entries.** The Shopping Agent uses the menu URLs you save on the dispensary detail page to target the correct menu. Without a URL, it may scan a generic page that does not contain products.
</Tip>

<Tip>
  **Keep your favorites and stash up to date.** Personalization tags are only as useful as your data is current. Regularly logging stash usage and keeping your favorites list accurate makes recommendations significantly more relevant.
</Tip>

<Tip>
  **Use the New Discoveries tab to shape the database.** Every queued discovery helps grow the strain database for the whole community. If you find an unlisted strain at your local dispensary, queue it — you will likely see it with a full profile within hours.
</Tip>

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="Why did my scan take so long?">
    Scan time depends on the size of the dispensary menu and the complexity of the website. Menus with hundreds of products take longer to extract than smaller menus. If the dispensary uses a slow third-party platform, that also adds time. Most scans complete within 45 seconds; particularly large menus may take up to 90 seconds.
  </Accordion>

  <Accordion title="Why are some products showing Low confidence matches?">
    Dispensaries sometimes use abbreviated strain names, house names, or misspellings that do not exactly match database entries. Low confidence means the system found a plausible match but could not verify it with certainty. Tap the product to check the linked strain profile and confirm it looks right.
  </Accordion>

  <Accordion title="Can I scan dispensaries I have not saved yet?">
    You need to have the dispensary saved in High IQ with at least one menu URL to use the Shopping Agent. Add the dispensary first, then tap Shop Now.
  </Accordion>

  <Accordion title="Does the Shopping Agent see prices?">
    Yes, when prices are listed on the dispensary menu they are extracted and displayed. Some dispensaries do not show prices online (requiring in-store inquiry), in which case the price field will be empty.
  </Accordion>

  <Accordion title="Are scan results private?">
    The products extracted from a menu scan are not tied to your personal account — the scan is stored at the dispensary level and shared across users. Your personalization tags, however, are computed locally using your private profile data and are never shared.
  </Accordion>
</AccordionGroup>

## Related Features

* [Dispensary Tracking](/help/features/dispensaries) — Manage your dispensary list and add menu URLs
* [Stash Management](/help/features/stash-management/overview) — Keep stash data current for accurate Running Low tags
* [Label Scanner](/help/features/label-scanner) — Scan labels after you buy to extract terpene and cannabinoid data
* [Professor High](/help/features/professor-high) — Ask follow-up questions about any matched strain

<Snippet file="contact-support.mdx" />
