Status: Brainstorm
Phase: Phase 7 | Tier: Pro
Overview
Cannabis is social. People go to dispensaries together, share joints, text each other strain recommendations, and argue about whether sativas are better than indicas. But there is no way to quantify how similar (or different) two people’s cannabis preferences actually are. Strain Compatibility changes that. When two High IQ users connect, the app calculates a Strain Match score from 0% to 100% based on the overlap and similarity of their cannabis preferences. The score considers four dimensions: strains they have both tried, terpene preference alignment, High Family dominance similarity, and strain type ratio overlap. The result is a single, shareable number that captures something real: “You and Sarah are 87% Strain Compatible.” The feature serves two purposes. First, it creates a compelling social experience for existing users — comparing your cannabis taste with friends is genuinely fun and often surprising. Second, it is a powerful growth lever. The most effective referral mechanic is personalized: “Invite Sarah to see your Strain Match score” is dramatically more compelling than “Invite a friend to High IQ.” The curiosity gap — what is our score? — drives the download. Strain Compatibility is the bridge between High IQ as a solo utility and High IQ as a social cannabis platform. It does not require feeds, comments, followers, or any of the heavy social infrastructure that would distract from the core product. It is a single, focused interaction: compare your taste with someone you know.What It Does
Strain Match Score (0-100%)
The headline metric is a single percentage representing how similar two users’ cannabis preferences are. The score is calculated across four weighted dimensions:| Dimension | Weight | What It Measures |
|---|---|---|
| Strain Overlap | 35% | Percentage of strains that both users have tried (Jaccard similarity on strain collections) |
| Terpene Alignment | 25% | Cosine similarity between each user’s average terpene preference profile |
| High Family Match | 25% | How similar each user’s High Family distribution is (e.g., both lean Creative Family) |
| Type Ratio | 15% | How similar each user’s sativa/indica/hybrid ratio is |
Score Interpretation
| Score Range | Label | Meaning |
|---|---|---|
| 90-100% | “Cannabis Twins” | Nearly identical preferences — you probably already share strains |
| 70-89% | “Strong Match” | Very similar taste with some interesting differences to explore |
| 50-69% | “Complementary” | Overlapping core preferences but distinct edges — great for recommendations |
| 30-49% | “Opposites Attract” | Very different preferences — you can introduce each other to new worlds |
| 0-29% | “Different Planets” | Radically different taste — the other person’s collection is uncharted territory for you |
Comparison Breakdown
Beyond the headline score, users see a detailed breakdown:- Shared Strains — List of strains both users have tried, with each user’s notes or ratings if available
- Terpene Comparison — Side-by-side terpene radar charts showing each user’s preference profile
- High Family Distribution — Stacked bar chart comparing each user’s High Family split
- “You Should Try” Recommendations — Strains that one user loves but the other has not tried, ranked by likelihood of enjoyment based on the recipient’s terpene profile
- Cannabis Personality Comparison — If both users have Cannabis Personality types, shows them side by side
The Shareable Card
The Strain Compatibility card follows the share card format: two user avatars with the Strain Match percentage between them, the match label (e.g., “Strong Match”), the top 3 shared strains, and a “Compare your cannabis taste — Download High IQ” CTA.User Value
Growth Mechanic
The strongest growth application of Strain Compatibility is the personalized invitation:- User A has High IQ and 50+ strains in their collection
- User A wants to compare with their friend Sarah
- Sarah does not have High IQ
- User A taps “Invite Sarah to compare”
- Sarah receives a personalized message: “John wants to see your Strain Match score. Download High IQ and import your orders to find out.”
- Sarah downloads, creates an account, imports at least one order
- The Strain Match score is calculated and both users see the result
- The referral is confirmed (Sarah uploaded an order), and John earns referral rewards
How It Works
Connect with a Friend
From the “Friends” tab or profile screen, the user searches for another High IQ user by username, or sends an invitation link to someone who does not have the app.
Send Comparison Request
The user taps “Compare Strains.” If the other person is already on High IQ, a comparison request is sent. If not, a personalized invitation link is generated.
Mutual Consent
Both users must opt in to the comparison. The recipient receives a notification: “John wants to compare cannabis preferences with you.” They can accept or decline. No data is shared without explicit consent.
Score Calculation
Upon mutual acceptance, the algorithm processes both users’ strain collections, terpene profiles, High Family distributions, and type ratios. The Strain Match score is calculated in real time.
Results Reveal
Both users see the results simultaneously: the headline Strain Match percentage, the detailed breakdown, shared strains, and “You Should Try” recommendations.
Technical Approach
Architecture
| Component | Technology | Notes |
|---|---|---|
| Friend Connections | Convex friendships table | Bidirectional connection model with request/accept flow |
| Score Calculation | Server-side Convex action | Computes score from both users’ data; results cached for 7 days |
| Strain Overlap | Jaccard similarity | Set intersection / set union on strain IDs |
| Terpene Alignment | Cosine similarity | Vector comparison on normalized terpene preference profiles |
| Family Match | Jensen-Shannon divergence | Probability distribution comparison on High Family ratios |
| Type Ratio | Euclidean distance | Normalized distance between sativa/indica/hybrid percentages |
| Result Cards | React Native + view-shot | Renders comparison card for sharing |
| Notifications | Expo Notifications | Comparison requests and result availability |
Data Model (Convex)
Privacy Model
Strain Compatibility is built on explicit consent at every step:- Opt-in connections — Users must accept a friend request before any comparison is possible
- Per-comparison consent — Each comparison requires mutual acceptance (even between existing friends)
- Data minimization — The comparison algorithm runs server-side; neither user sees the other’s raw data
- Visible output only — Users see: shared strains, score, recommendations. They do NOT see: spending data, order history, dispensary names, consumption frequency
- Revocable — Either user can remove a friendship at any time, which deletes all cached comparison data
Tier Impact
| Tier | Access |
|---|---|
| Free | Send comparison requests, see headline Strain Match score only |
| Pro | Full breakdown (terpene radar, family distribution, recommendations), unlimited comparisons, shareable comparison card, comparison history |
Dependencies
- Strain collections per user — built and live
- Terpene data in strain profiles — built and live
- High Family classification — built and live
- Friend connections infrastructure (new Convex tables and UI)
- Comparison algorithm implementation
- Comparison request / consent flow UI
- Results screen with breakdown visualizations
- Comparison card for sharing
- Referral System (Phase 2) — for personalized invitations
- Cannabis Personality (Phase 6) — for personality comparison in results
Open Questions
- Friend discovery — How do users find each other? Username search requires knowing the exact username. QR code scanning (in person) is the most natural cannabis-social interaction. Phone contact matching raises privacy concerns.
- Minimum data threshold — How many strains does a user need before a comparison is meaningful? A comparison between two users with 3 strains each is not very interesting. Minimum 10 strains each?
- Anonymous comparison — Should there be a way to compare with “the average High IQ user” or “users in your city” without connecting to specific people? This could be interesting for users without friends on the platform.
- Score stability — The score changes as users add new strains. Should users be notified when their compatibility with a friend changes significantly (e.g., “Your Strain Match with Sarah increased by 12% this month”)?
- Group comparison — Could this extend to groups? “Your friend group’s collective Strain Match is 73%” would be compelling but exponentially more complex.
Related Features
- Cannabis Personality — Personality types add depth to compatibility comparisons
- Referral System — Personalized comparison invitations are the strongest referral mechanic
- Share Cards — Compatibility cards use the share card visual system
- Community Badges — “Connected” badges for making first friend, first comparison