A plugin for Stash that uses an ELO-style rating system to rank performers and images through head-to-head comparisons.
Looking for v2? See
plugins/hotOrNotV2for the latest version with star rating widgets, undo support, advanced statistics, and more.
Comparison Modes:
- Swiss ⚖️ – Fair matchups between similarly-rated items with recency weighting to reduce repetition (available for performers and images)
- Gauntlet 🎯 – Place a performer in your rankings by climbing from the bottom until they lose (performers only)
- Champion 🏆 – Winner stays on, with reduced rating changes for stable rankings (performers only)
Smart Tracking:
- Comprehensive statistics: wins, losses, streaks, win rates, and match history
- Adaptive K-factor: new performers adjust faster, established performers maintain stable rankings
- Dynamic filter support: respects your active Stash filters (tags, studios, favorites, etc.)
Performance Optimized:
- Performers: Full dataset for accurate ranking across all library sizes
- Images: Intelligent sampling (500) for libraries >1000 images
- Download the
/plugins/hotornot/folder to your Stash plugins directory - Optional: Change Rating System Type to "Decimal" for better precision (Settings → Interface → Editing)
For Performers:
- Navigate to the Performers page in Stash
- Optional: Apply filters (tags, studios, favorites, etc.) - the plugin respects your active filters
- Click the 🔥 button in the bottom-right corner
- Choose your comparison mode (Swiss/Gauntlet/Champion)
- Click a performer (or use arrow keys) to pick the winner
- Click "📊 View All Stats" to see comprehensive statistics
For Images:
- Navigate to the Images page in Stash
- Click the 🔥 button in the bottom-right corner
- Click an image (or use arrow keys) to pick the winner
ELO Rating System:
- Ratings stored in Stash's native
rating100field (1-100 scale) - Beating higher-rated items earns more points
- Losing to lower-rated items costs more points
Adaptive K-Factor:
- New performers (<10 matches): K=16 for fast initial positioning
- Moderately established (10-30 matches): K=12 for balanced adjustments
- Well-established (>50 matches): K=8 for stable rankings
Statistics Tracking:
Tracks wins, losses, streaks, win rates, and match history in the hotornot_stats custom field.
Mode-Specific Behavior:
- Swiss: Full stats and normal rating changes for both participants
- Gauntlet: Full stats for active challenger; defenders get participation tracking only
- Champion: Full stats for both, but 50% reduced K-factor for gradual evolution
Recency Weighting (Swiss Mode): Recently matched performers are less likely to reappear:
- 0-1 hours ago: ~4% chance
- 1-6 hours ago: ~12% chance
- 6-24 hours ago: ~25% chance
- 24+ hours ago: ~50% chance
- Stash v0.27 or later
- At least 2 performers or images in your library
Inspired by stash-battle by dtt-git
See LICENCE for details.