My friends and I have always had trouble deciding on what movie to watch during gatherings and meetups because it takes too long to cater to each person's own interests when browsing. Therefore, selecting a common film everyone would enjoy watching was almost impossible and inspired us to create this app.

What it does

MovieSort Pro has analyzed over 45,000 movies from the database IMDb and sorted them on what l movies based on what people like. All movies are sorted by the following categories: genre, rating, language, directors, cast, length, type, country and what not!

How we built it

Used React, Javascript, Python, Firebase

Used Redux to save client state (username entered), redux-saga to attach middleware

Came up with an algorithm to generate recommended movies:

  • each user does the initial quiz to generate a user profile consisting of: a vector for each movie-type data (e.g. genre) --> this vector is the length of all the genres in the movies, and each index has a value from 0 to 1 to indicate the level of genre present in the selected movies. These vectors are then averaged out amongst all the users to generate a collated profile for the group, which will then generate a set of recommended movies to choose from. Each user then chooses the movies they like, and the algorithm provides the final recommended set of movies based on the most common/similar movies chosen.

Challenges we ran into

  • Learning how to use firebase
    • creating rooms of users to join
    • fetching movie dataset from Firebase

We weren't able to implement Firebase and user rooms due to time restrictions.. we also weren't able to implement the algorithm as it was done in python and we thought transferring python to JS would be a trivial task..

Accomplishments that we're proud of

  • coming up with an algorithm to generate a set of recommended movies for a group based on vectors

What we learned

  • Firebase
  • Coding
  • Teamwork
  • React
  • SQL/Data management

What's next for MovieSort Pro

  • Helping the youth overcome their issues they face everyday!
Share this project: