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
How It Works
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).
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.
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.
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.
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.
Technical Approach
Architecture
| Layer | Technology | Notes |
|---|---|---|
| Code Detection | Expo Camera barcode scanning | Native barcode detection (Code128, QR, DataMatrix) |
| URL Resolution | Server-side fetch | Follow QR code URLs to COA pages |
| COA Parsing | Gemini vision + structured extraction | Parse PDF or HTML lab results into structured data |
| Product Lookup | Cannabis product databases | Barcode-to-product mapping via third-party data |
| Data Normalization | API normalizer layer | Standardize terpene names, units, and formats across labs |
| Comparison Engine | Existing strain data | Compare 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:- 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.
- Barcode registries — Some states maintain cannabis product registries that map barcodes to product and batch information. We integrate with available registries.
- Lab partnerships — Direct API integrations with major testing labs (Confident Cannabis, SC Labs, etc.) to look up batch data by barcode or batch number.
- 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
- 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.
- 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.
- 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.
- 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
| Tier | Access |
|---|---|
| Free | Basic barcode scanning with strain identification only |
| Pro | Full 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
- 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?
- Lab partnerships — How many lab integrations are needed for a useful v1? Start with the largest (Confident Cannabis covers many dispensaries) and expand?
- Offline scanning — Should the barcode scanner work offline for basic product identification (strain name lookup), even if COA data requires network access?
- 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?
- Privacy implications — Barcode scans could theoretically reveal purchase patterns at specific dispensaries. Should we hash or anonymize the barcode data?
Related Features
- 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