Hello everyone!
After a semester of research and development, I’m thrilled to share AniMusic—my final‑year project that transforms your AniList watch history into custom 6‑track anime‑music playlists, right in your browser.
What Is AniMusic?
Seamless AniList OAuth login—no extra accounts needed.
One‑click profile sync fetches all your watched anime MAL IDs.
Diverse recommendation engine blending:
MPNet & MiniLM semantic embeddings
Node2Vec graph traversals (song,anime,tags)
TF‑IDF on song/anime metadata
YouTube popularity scores
A pinch of randomness for discovery
Feedback‑driven learning—tracks your play/pause/end events and favorite favorites to refine suggestions in real time.
Quick Start (no developer experience required!)
Download & unzip the ZIP from GitHub or Dropbox.
Enable Developer Mode in your browser’s extensions (Chrome : chrome://extensions / Edge : edge://extensions).
Load unpacked and point to the folder you just unzipped.
Login with AniList, click Upload AniList Profile, then Fetch Playlist.
Play, Skip, Prev/Next, and favorite to fine‑tune your future mixes.
Key Features
Compact popup UI—no juggling tabs or copy‑pasting URLs.
Instant playback—opens your first recommended YouTube video automatically.
Prev/Next controls—browse your 6‑track playlist seamlessly.
Favorite —once you favorite a song, the associated anime is given higher priority.
Implicit feedback—every listen, skip, or seek helps the system learn.
Under the Hood
Backend: FastAPI + SQLAlchemy (SQLite for local; PostgreSQL in production)
Endpoints:
/upload_anilist_profile—syncs your MAL IDs
/feedback—captures watch‑time & likes
/playlist—serves fresh recommendations
RecommenderCore: Combines multiple algorithms for balanced diversity and quality.
Feedback & Discussion
I’d love to hear:
How relevant are your playlists?
UX suggestions—layout, styling, animations?
Bugs or edge‑case issues you spot?
Feature ideas—genre filters, shuffle‑only mode, offline caching?
Dive into the code or file issues on GitHub:
https://github.com/something123something/anime_music
Here's a sample demo:
Give AniMusic a spin on Chrome or Edge, and drop your thoughts below—let’s build the best anime‑music experience together!
UPDATE : it's now published in chrome : https://chromewebstore.google.com/detail/bpnflfbnnekkledjfcdnkaoanfkflpho?utm_source=item-share-cb
How relevant are your playlists?
somewhat irrelevant. some anime i havent watched, others i have never heard of.
also why does it need access to our account? if it's just fetching a user's list, shouldn't a username be enough?
...Which one there haven't you heard of? They're all pretty popular, except maybe Iruma, I can't imagine not having heard of the shows...
One‑click profile sync fetches all your watched anime MAL IDs.
I have only watched Oshi no Ko and 100 gf from those. I assumed the music is from my watched list.
...If you read further, it said they do add some randomisation for the sake of discovery.
Also I was questioning your wording of "never heard of" not "haven't watched."
havent watched (but head of) = k-on
never heard of = iruma
i wasnt paying much attention when i first read it so i missed about the randomness. given that randomness is used for discovery, it raises the question, how relevant is this tool? cant i achieve the same, or even better results by just watching a couple of anime music videos on youtube and let the yt algorithm do it's thing? or spotify for that matter.
but that's not a question for you but the developer.
"cant i achieve the same, or even better results by just watching a couple of anime music videos on youtube and let the yt algorithm do it's thing? or spotify for that matter."
fair point. i wanted to make this project to see how war i can go without user-user interaction data. a lot of recommendation systems today are collaborative(or hybrid) - that is finds similar taste users and recommends music liked by similar taste folks.
I wanted to research on content-only recommendation systems. - what if i run a startup and i literally have no user data? . My project focuses along those lines.
"also why does it need access to our account? if it's just fetching a user's list, shouldn't a username be enough?"
so you would have to authorize the app to allow fetching your list of animes. Atleast that's how the Anilist API currently works.
"somewhat irrelevant. some anime i havent watched, others i have never heard of"
so i do take into account paused/dropped etc anime and not just watched ones. I have around only 700 animes in my system, so it's possible most of your favourite shows weren't a part of it. You could try fetching more playlists and check. Also i do randomize to explore new anime-music.
i cant reply. bruh i tried sending an example curl command showing how to fetch a user's anime list and the site wont let me post it lmao
here is my original reply:
fyi you can fetch public anime list without authentication. try it:
<the command the site wont let me post>
other than that, i have no other comments. good work and good luck.
once you favorite a song, the associated anime is given higher priority.
...I suppose it'd be too difficult to go by artist or something then? If a show has a good song, it's not as indicative of the show's music quality as it would be the artist's quality. It's far more common for a show to only have one good song, or a low ratio of good songs, than it is for an artist with any good songs to have such a low ratio.