Skip to main content

📖 Introduction

DocumentationKelbrum live site hosted via FirebaseWakatime Coding Stats for KelbrumMIT License BadgeCode Style - Prettier
ReleaseClosed IssuesClosed PRsGitHub Lint Action Workflow Status


Overview​

Kelbrum is an anime recommendation system designed to suggest anime titles similar to those chosen by users. It employs K-means++ clustering with a custom distance function, which uses a combination of the Manhattan and Dice distance. The custom distance function assigns weighted values to each property of an anime such as its type, genres, score to compute the distance between two separate anime.

The frontend of the project was initially set up using Vite.js for development purposes, but has since transitioned to utilize Create React App, in conjunction with React, React Router, TailwindCSS and DaisyUI.

The backend of this project, aka the 'heart' of the project was built utilizing Tensorflow.js in combination with external libraries such as ml-kmeans, ml-distance, and simple-statistics. Additionally, to perform TF-IDF analysis on anime synopses, natural was used alongside remove-stopwords, word-list, and lemmatizer.

Upon combining these two parts, the project comes together in the form, that is, Kelbrum.

info

This project was made possible thanks to the following sources of anime image and text information:

  1. Original Kaggle Dataset - The anime dataset was read and proccessed into a custom JavaScript class known as AnimeEntry.
  2. JikanAPI - Missing information such as pageURL, imageURL, trailerURL and other existing properties which may have needed updates were updated by making several API requests to JikanAPI. JikanAPI contains anime information obtained from MyAnimeList.

All external images and text used within this app belong to their respective owners.

ÂŠī¸ License​

The contents of this repository are licensed under the terms and conditions of the MIT license.

MIT Š 2024-present Visakan Kirubakaran.