Skip to main content

Overview

The collection and rankings system tracks every strain a user has encountered and uses an ELO algorithm to determine their personal favorites through head-to-head comparisons. This flow documents how strains enter the collection, how rankings are built, and how the system integrates with other features.

Collection Entry Points

Collection Status State Machine

Multi-status note: A strain can hold multiple statuses simultaneously (e.g., Owned + Tasted). The Owned status is auto-set when a strain is in the active stash.

ELO Ranking Flow

ELO Score Mechanics

Pair Selection Algorithm

The system selects comparison pairs to maximize ranking information:
PrioritySelection StrategyWhen Used
1stUncompared pairsStrains that have never been compared
2ndClose ELO scoresStrains with similar ratings (resolve ambiguity)
3rdHigh uncertaintyStrains with few total comparisons
4thRandomWhen all other strategies exhausted

Collection Screen Navigation

Favorites vs. Collection Integration

Rankings Visibility

Rankings data surfaces across multiple screens:

Edge Cases

ScenarioBehavior
Less than 3 strains in collectionRankings disabled, “Add more strains” prompt
All strains compared, no new pairs”All comparisons complete” message
Strain removed mid-ranking sessionSkip that pair, continue with remaining
Same strain compared multiple timesEach comparison updates ELO (can change over time)
Tied ELO scoresSame rank displayed for both
Very large collection (100+ strains)Lazy loading, pair selection prioritizes meaningful comparisons
Strain marked Disliked after ranking highELO preserved, Disliked status shown as overlay
Wishlist strain appears at dispensaryShopping Agent flags with “Wanted” tag

Strain Discovery

How strains are found before adding to collection.

Stash Management

Stash items auto-populate the collection.

Shopping Agent

Wishlisted strains flagged during menu scans.

Achievement System

Collection and ranking-related achievements.