Skip to main content
Status: Planned Tier: Pro

Overview

The Label Scanner reads what is printed on a package. The Barcode Scanner reads what is encoded in it. Many cannabis products include barcodes or QR codes that link to their Certificate of Analysis (COA) — the actual lab test results for that specific batch. This means exact terpene percentages, precise THC and CBD levels, residual solvent data, and microbial test results. Not estimates. Not averages across the strain. The real numbers for the exact product in your hand. Barcode scanning is the precision complement to label scanning. Where label scanning gives you a general profile and High Family classification, barcode scanning gives you lab-grade data for your specific batch. Together, they make High IQ the most accurate cannabis product analysis tool available to consumers.

What It Does

  • Barcode and QR code detection — Point your camera at any barcode or QR code on a cannabis product and the scanner automatically detects and reads it
  • COA data retrieval — If the barcode links to a lab test Certificate of Analysis, the scanner fetches and parses the full test results
  • Exact terpene percentages — Individual terpene levels as reported by the testing lab, not database averages
  • Precise cannabinoid breakdown — THC, THCA, CBD, CBDA, CBG, CBN, and other cannabinoids with exact percentages from the batch test
  • Batch identification — Harvest date, batch number, and testing lab information when available
  • Safety data — Residual solvent levels, pesticide screening results, and microbial testing pass/fail when included in the COA
  • High Family classification — The exact terpene data from the COA produces the highest-confidence High Family classification possible (Tier 1 accuracy)
  • Compare to database average — See how your specific batch compares to the average terpene and cannabinoid profile for that strain in the TIWIH database
  • Save to stash — Attach the batch-specific lab data to a stash item so you have a permanent record of what you purchased

User Value

The “aha moment” is seeing exactly how your specific batch differs from the strain average — and realizing that the “Blue Dream” you bought today has a completely different terpene ratio than the “Blue Dream” you bought last month. Batch variation is real, and barcode scanning makes it visible.

How It Works

1

Open Barcode Scanner

Launch the Barcode Scanner from Quick Actions or the camera menu. The scanner mode defaults to barcode detection (distinct from the label scanner’s photo mode).
2

Scan the Code

Point your camera at the barcode or QR code on the product packaging. The scanner auto-detects and reads the code without requiring a tap.
3

Code Resolution

The scanned code is resolved: QR codes are followed to their destination URL; standard barcodes are looked up against known cannabis product databases and lab result registries.
4

Data Extraction

If the code links to a COA or lab result page, the system fetches and parses the test data into a structured format. If it links to a product page, available data is extracted.
5

Results Display

A detailed results card shows the extracted data: exact terpene percentages, cannabinoid breakdown, batch info, safety data, and the resulting High Family classification with confidence score.
6

Save or Compare

Save the batch data to a stash item, or compare this batch to the strain’s database average to see where it falls on the terpene spectrum.

Technical Approach

Architecture

LayerTechnologyNotes
Code DetectionExpo Camera barcode scanningNative barcode detection (Code128, QR, DataMatrix)
URL ResolutionServer-side fetchFollow QR code URLs to COA pages
COA ParsingGemini vision + structured extractionParse PDF or HTML lab results into structured data
Product LookupCannabis product databasesBarcode-to-product mapping via third-party data
Data NormalizationAPI normalizer layerStandardize terpene names, units, and formats across labs
Comparison EngineExisting strain dataCompare batch data against database averages

Data Source Strategy

Cannabis lab data is fragmented. Different states have different testing requirements, different labs use different formats, and there is no universal product barcode standard. Our approach:
  1. QR codes to COAs — The highest-value path. Many products include QR codes that link directly to their lab results. We follow the URL and parse the resulting page (PDF or HTML) using Gemini vision.
  2. Barcode registries — Some states maintain cannabis product registries that map barcodes to product and batch information. We integrate with available registries.
  3. Lab partnerships — Direct API integrations with major testing labs (Confident Cannabis, SC Labs, etc.) to look up batch data by barcode or batch number.
  4. Crowd-sourced mapping — Over time, barcode scans from our users build a mapping of barcodes to products, validated by cross-referencing multiple scans of the same code.

Key Technical Challenges

  1. COA format diversity — Every lab produces COAs in a different format. PDF parsing must handle dozens of layouts. Gemini vision is the most flexible approach, but accuracy needs validation across lab formats.
  2. URL reliability — QR code URLs sometimes expire, point to generic product pages instead of batch-specific results, or require authentication. Graceful fallback when data is unavailable is essential.
  3. Barcode standards — Cannabis does not have a universal barcode standard. Some products use UPC, some use proprietary codes, some use state-mandated tracking codes. The scanner must handle all types.
  4. Data freshness — Lab results are batch-specific. A barcode scan from six months ago may reference a batch that is no longer relevant. We need to make batch dates and ages clear in the UI.

Tier Impact

TierAccess
FreeBasic barcode scanning with strain identification only
ProFull COA data retrieval, exact terpene percentages, batch comparison, safety data, stash integration

Dependencies

  • Label Scanner camera infrastructure — built and live
  • High Family classification engine — built and live
  • Strain database with terpene averages for comparison — built and live
  • Expo Camera barcode detection configuration
  • COA parsing prompt engineering (Gemini vision for PDF/HTML lab results)
  • Lab data provider partnerships or API integrations
  • Barcode-to-product mapping database
  • Batch data storage schema (extends stash items)
  • Batch vs. average comparison UI

Open Questions

  1. Which barcode types to support in v1? QR codes are the highest-value target (most link to COAs). Standard UPC barcodes require a product database. Start with QR only?
  2. Lab partnerships — How many lab integrations are needed for a useful v1? Start with the largest (Confident Cannabis covers many dispensaries) and expand?
  3. Offline scanning — Should the barcode scanner work offline for basic product identification (strain name lookup), even if COA data requires network access?
  4. Batch data retention — How long do we store batch-specific data? Should it expire when the batch is likely consumed, or persist indefinitely for historical analysis?
  5. Privacy implications — Barcode scans could theoretically reveal purchase patterns at specific dispensaries. Should we hash or anonymize the barcode data?
  • Menu Scanning — Complementary scanning feature for full menus
  • Label Scanner — Existing label scanner that this feature extends
  • Session Journal — Batch-specific data enriches session logs with precise cannabinoid and terpene information