Inspiration
As a team, we brainstormed problems that were relevant and interesting to us. We all watch anime, and found that we could all use a recommendations engine based on the anime we enjoyed.
What it does
- Our personalized anime recommendations engine provides a list of ten anime shows based on one that the user provides.
- The user can also constrain results by setting a minimum score threshold, whether the anime is a TV show or not, and whether it has finished airing or not.
How we built it
- The front-end was built with Angular 7 using Material-UI.
- Back-end was built with Flask using CORS, so that our Python script that performed the data analysis could be ran.
- Data was fetched from an existing dataset pulled from MyAnimeList, and is up to date as of 02/04/2019. The analysis script uses tf-idf, count vectorization and cosine similarity on synopsis' and genres to determine similarity between different anime.
- Anime is sorted based on cosine similarity, and is then filtered based on above filters and then returned.
Challenges we ran into
- CORS kept preventing us from making requests with parameters.
- Dealing with over 15,000 datapoints on relatively low-end machines took a long time for every analysis performed.
Accomplishments that we're proud of
- One team member learned and applied front-end development using Angular 7 for the first time.
- NLTK, tf-idf and cosine similarity were all new concepts. Implementation was effective in determining recommendations.
What's next
- Adding more parameters in analysis to provide better recommendations
- Ability to integrate MAL API's in order to generate recommendations based on multiple "watched" for a particular user
- Ability to filter out previous recommendations
- Optimization of our algorithm


Log in or sign up for Devpost to join the conversation.