Let There Be Light
We wanted to make a project that wasn't your typical recommendation system. To clarify, this project is not a recommendation system. It was built with the goal of finding similar anime, whether it be for "research" or personal enjoyment. There were times I wanted to find similar anime so I had more "materials"/inspirations to use for worldbuilding my game. This may also be useful for those who wants to "cherrypick" their data and use anime as their evidence in essays, for whatever reason it may be.
The difference between our idea and the typical recommendation system is that we are not aiming to recommend what we think you may enjoy. We are aiming to recommend anime that are similar in worldbuilding, plot, characters, etc. that you might not even enjoy. This makes up for the fact that the traditional recommendation systems will not recommend you similar animes that are fail in popularity (in animation, music, ratings, etc.).
The Process
We built our frontend using React + Vite, which is pretty common, and Flask for our innerworkings to determine similarity using sentence transformers. The main challenge was faced was cleaning the data as it is littered with HTML, markdown formatting, and more. And the second was finding a good sentence transformer that is relatively lightweight, so we ended up using the multilingual-e5-large-instruct found on the HuggingFace's leaderboard. Lastly, our biggest challenge was working around the AniList API's rate limit, which we still haven't worked around, so this will mainly be something to figure out for deployment.
The Beginning of the End
We are currently procrastinating our submission. Planning to deploy this on Vercel eventually so stay tuned on our Github page.
How to use
Run the Flask (python3 main.py). Run the frontend (npm run dev).
Log in or sign up for Devpost to join the conversation.