How I made RECOMMENDIT, a show companion

Read about my story.

As someone who is a software engineer, one of my passsions are TV shows. Good ones. I found out that most people ( including myself ) have only seen about 20% of the popular shows that we always have suggested on Netflix. This has led me to think: What I make a project that will take an input of a show and it's description and then somehow compare it to a large dataset of shows, which will, hopefully bring more to light some underrated content, or something that is not-so popular.

This has led me to look into models that are the underline of content-based filtering engines, such as various ML models that turn words into vectors and then by using cosine similarity, compare those vectors to each other. Eventually I found Word2Vec, which is exactly what I needed, a model that converts words into vectors.

For my database I generated a free copy of the TheTvDB via their API. Then I used that data and converted each of the show descriptions into vectors. Having Vectors ready, the idea was to get three shows from the user, calculate the average vector and then use cosine similarity to compare the average vector to each other. I generated a controller and API via ASP.NET and made the function with a ready database.

Finally, it was time to create a decent-looking UI using Angular. The page that retrieves shows has a loading bar animation, along with a timer. The frontend was made via Bootstrap, Angular and a few helper libraries.