Skip to content

feat: smart shuffle recommendation engine - #1402

Open
MunishMummadi wants to merge 5 commits into
OxygenCobalt:devfrom
MunishMummadi:feat/recomm-engine
Open

feat: smart shuffle recommendation engine#1402
MunishMummadi wants to merge 5 commits into
OxygenCobalt:devfrom
MunishMummadi:feat/recomm-engine

Conversation

@MunishMummadi

@MunishMummadi MunishMummadi commented Jul 11, 2026

Copy link
Copy Markdown

Note: This is full AI generated PR. But I understand majority of the code. Since I am not good at kotlin at all. I am using AI. You have everyright to decline to review or close this PR. But I would love to answer any questions and do as many changes as I can to get this in.

What is it?

  • Bugfix (user facing)
  • Feature (user facing)
  • Codebase improvement (dev facing)
  • Meta improvement to the project (dev facing)

Description of changes

Got the idea from xikipedia
Adds an offline Smart Shuffle recommendation engine for local libraries (phone + Android Auto).

  • Learns from real playback signals (early skip, mid abandon, solid listen, near-complete, replay) plus an explicit Like
  • Builds shuffle queues from album/artist/genre/decade/duration feature weights (### not a fake RNG “For You” screen)
  • Marks repeatedly skipped songs as undesirable and surfaces them under Settings → Songs to review (forgive or delete)
  • Integrates into existing shuffle-all playback so Android Auto still reports shuffle ON while ExoPlayer uses an ordered smart queue
  • Persists the model locally (smart_shuffle_model.json) with debounced/atomic saves
  • Mobile: Like button on the playback panel
  • Android Auto: MediaSession custom “Like” action (outline/filled heart)

Fixes the following issues

Any additional information

APK testing

app-debug.apk.zip

Due diligence

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant