Skip to content

Releases: ClaytonWas/tuned-in

Local-Local Inference

Choose a tag to compare

@ClaytonWas ClaytonWas released this 27 Sep 04:56

Tuned In 5.0

Tuned In now works in every Chromium browser, has a redesigned side panel, and reads pages more cleanly.

The redesigned side panel: settings, a recommendation, and Enter text mode

What's new

  • Works in Edge, Brave, Opera, Vivaldi and Arc. A local AI model (Google's EmbeddingGemma) now ships with the extension, so it no longer needs Chrome's Gemini Nano. Chrome still uses Nano when it's installed, and Settings → Advanced → AI engine lets you choose.
  • Redesigned side panel. A new icon, refreshed light and dark themes, and a cleaner layout for settings and history. Dark mode no longer flashes white when the panel opens. The Forest theme has been retired.
  • Choose what it reads. Sample area can be the opening of the page, the whole page, or text you paste in. The Opening length slider now sets exactly how much of the opening the AI reads, whichever engine you use.
  • Cleaner reading. The page reader now skips hidden styling code, infobox tables, citation markers like [1], and repeated paragraphs, so recommendations reflect the article itself.
  • History that shows its work. Expand More Info on any pick to see the exact text the AI read, for example "4,500 of 20,000 chars · Opening".
  • Help built in. Every setting has an ⓘ tooltip explaining what it does.

The same panel in light and dark themes

Upgrade notes

  • Download size. The extension is about 200 MB larger because it includes the local model. Page content still never leaves your browser.
  • New permission. Tuned In now asks for unlimitedStorage, so history can keep the full text each pick was based on.
  • Settings carried over. Your saved settings still work. An older reading-length value moves to the nearest new step, and "Full text mode" becomes the Whole page option.
  • Older history. Entries saved before 5.0 still show the old 4,000-character text preview.

4.0

4.0

Choose a tag to compare

@ClaytonWas ClaytonWas released this 15 May 03:58
v4.0 Code split into modules. Documentation Updated.

3.0

3.0

Choose a tag to compare

@ClaytonWas ClaytonWas released this 04 Dec 13:07
361dac4

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 transform and opacity for 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.js with 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

2.4

Choose a tag to compare

@ClaytonWas ClaytonWas released this 27 Nov 03:52

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-b
    • aggressive → metal
    • lo-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

2.1

Choose a tag to compare

@ClaytonWas ClaytonWas released this 24 Nov 23:18

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

Choose a tag to compare

@ClaytonWas ClaytonWas released this 16 Nov 22:38

2.0 Release

  • Settings
  • Improved User Interface

1.0

1.0

Choose a tag to compare

@ClaytonWas ClaytonWas released this 31 Oct 06:22
major

Added all propcolor styles.