Releases: ClaytonWas/Tuned-In
Releases · ClaytonWas/Tuned-In
3.0
Major UX Overhaul
Complete visual redesign with modern glassmorphism aesthetic, restructured UI architecture, and significant improvements to the recommendation engine.
UI/UX
- Dynamic Island Header — Floating pill-shaped header with settings that expand inline via smooth slide animation
- Glassmorphism Design — Backdrop blur, semi-transparent surfaces, and layered depth throughout
- Now Playing Card — Redesigned music display with large album artwork, scrolling track/artist names (marquee effect), and inline metadata (genres, BPM)
- History Cards — Compact cards with album art thumbnails, source page links, and expandable "More Info" sections containing Spotify embeds
- Theme System — Light and Dark themes with CSS custom properties for consistent token-based styling
- Dual-Range Popularity Slider — Set both minimum and maximum popularity bounds instead of just a threshold
- Hidden Scrollbar — Cleaner look with optional toggle to show scrollbar
- Custom Checkboxes — Rounded toggle switches with smooth animations
Performance
- Singleton Summarizer — AI model instantiated once per session and reused across all requests, eliminating repeated initialization overhead
- Lazy-Loaded Embeds — Spotify iframes only load when "More Info" is expanded
- GPU-Accelerated Animations — All transitions use
transformandopacityfor 60fps performance
Recommendation Engine
- Expanded Genre Mapping — Comprehensive mapping table covering 50+ genre synonyms and mood-to-genre conversions
- Multi-Strategy Search — Four-tier fallback: genre-filtered → multi-genre text → playlist mining → simple search
- Artist Diversity — Track selection pools are diversified by artist before random selection
- Improved Scoring — Tracks scored by genre relevance (85%), popularity (7.5%), and tempo match (7.5% bonus)
- Range-Based Filtering — Popularity bounds expand iteratively (±10) if no matches found
Technical
- Process Cards Module — Extracted to
processCards.jswith minimal status indicators and auto-dismiss on completion - Content Extraction Script — Moved Readability injection to dedicated
extract-content.js - CSS Architecture — Complete rewrite using CSS custom properties (
--color-*,--radius-*,--spacing-*) - Settings in Header — Removed footer; settings now expand from Dynamic Island
Bug Fixes
- Fixed scrollbar rendering white in dark mode
- Fixed settings panel clipping content at bottom of viewport
- Fixed checkbox visual state not updating on toggle
- Fixed source link text illegible in light mode
- Fixed album art hover state showing redundant play button overlay
2.4
Release Notes - Version 2.4
🎵 Major Improvements to Music Recommendation Engine
🎨 Artist Diversity Enhancement
- Problem Solved: Recommendations were showing too many tracks from the same artists (e.g., multiple Olivia Dean tracks)
- Solution: New artist diversity algorithm ensures recommendations come from 20+ different artists
- How it works:
- Groups tracks by artist before selection
- Takes top track from each unique artist (up to 20 artists)
- Fills pool with remaining top-scored tracks (up to 30 total)
- Randomly selects from this diverse pool
- Result: More variety in recommendations, including classic artists like Aretha Franklin, Marvin Gaye, and other soul/R&B legends
Enhanced Multi-Genre Search
- Multi-genre support: Now searches using 1, 2, or 3 genres simultaneously for more accurate matching
- Random genre selection: Varied search strategies for diverse results:
- 40% chance: Uses all available genre combinations
- 30% chance: Uses 2 strategies (single + multi-genre)
- 30% chance: Uses 1 strategy (randomly selected)
- Prioritized search order: Multi-genre searches are tried first when multiple genres are detected
- Shuffled strategies: Selected strategies are randomly shuffled for additional variety
Improved Scoring Algorithm
- New scoring weights:
- 85%: Genre relevance (increased from 65% - now the primary factor)
- 7.5%: Popularity (reduced from 30% - quality filter only)
- 7.5%: Tempo relevance (bonus only, increased from 5%)
- Better prioritizes tracks that match detected genres over pure popularity
- Genre matching checks track names and artist names for genre keywords
Tempo/BPM Integration
- Tempo keyword mapping: BPM ranges now map to relevant keywords:
- < 70 BPM: slow, ballad, ambient, calm, peaceful
- 70-90 BPM: chill, mellow, downtempo, laid-back
- 90-110 BPM: moderate, steady, groovy
- 110-130 BPM: upbeat, lively, energetic
- 130-150 BPM: fast, energetic, intense
- 150+ BPM: fast, intense, aggressive, high-energy
- Sparse tempo usage: Tempo keywords used intermittently in searches to avoid over-reliance
- Tempo scoring: Small bonus (7.5%) for tracks with tempo-related terms in names (no penalty if missing)
- BPM number detection: Bonus for tracks with actual BPM numbers in track names (e.g., "120 BPM")
API Compatibility Updates
- Removed deprecated APIs:
- Spotify Recommendations API (deprecated in late 2024)
- Spotify Audio Features API (deprecated)
- Improved error handling: Better fallback strategies when APIs are unavailable
- Search-based approach: Now relies exclusively on Spotify's Search API with genre filters for more reliable results
- Better error messages: More informative logging when Spotify API calls fail
Better Genre Mapping
- Expanded genre support: Better mapping of mood-based genres:
romantic→r-n-baggressive→metallo-fi→chill
- Valid genre validation: Only uses Spotify's valid genre seeds for search filters
- Fallback handling: Safe defaults when no valid genres are detected
🐛 Bug Fixes
- Fixed search stopping early when first strategy found 50 tracks (now tries all strategies)
- Fixed "chill chill" duplicate tempo keyword issue in search queries
- Improved handling of genre combinations in search queries
- Better error messages when Spotify API calls fail
- Fixed popularity threshold fallback logic
🔧 Technical Changes
- Refactored search strategy system for better maintainability
- Added tempo keyword generation based on BPM ranges
- Improved track scoring with genre keyword matching
- Enhanced logging for debugging search strategies
- Added artist diversity algorithm to all search functions (primary, fallback, playlist)
- Improved track deduplication across multiple search strategies
📊 Performance Improvements
- More efficient search strategy execution
- Better track pool management (up to 30 tracks from 20+ artists)
- Reduced redundant API calls
📝 Notes
- The extension now works entirely with Spotify's Search API (no deprecated endpoints)
- Genre matching is now the primary factor in track selection (85% weight)
- Tempo is used as a bonus factor only, since tempo keywords in track names are inconsistent
- Artist diversity ensures you won't see the same artist repeatedly in recommendations
- Popularity threshold still provides quality filtering, but is no longer the dominant factor
2.1
Minor Update
Fixing the incorrect manifest.json to have the correct version and a renewed Chrome Origin Trials token for the Writer API
2.0
2.0 Release
- Settings
- Improved User Interface
1.0
major Added all propcolor styles.