Inspiration

We have had far too many nights where we spend 45 minutes hemming and hawing over what movie the group wants to watch, only to be disappointed in our final selection. chooze is the solution that optimally picks a movie in a fun and engaging way.

What it does

Members of the group simultaneously log in to a room on chooze. Chooze begins by randomly populating the room with movies for the group to chooze from. As movies pop up on the screen complete with a small description, movie poster, rating, release year, etc. Individuals will swipe left on a movie they don't want to watch, swipe right on a movie they do want to watch, and swipe down on a movie they may like, but don't necessarily want to watch at that moment. As individuals are swiping on movies, chooze is curating the queue of movies across devices and in real-time. It takes these decisions into consideration and populates the room with additional movies that it thinks the group will be more likely to enjoy. After the group has swiped for enough time, chooze provides the group with its top four movie recommendations based on both swiping outcomes and the tastes that it learned over the course of the swiping session.

How we built it

We used React Native for the front end. For the back end, we used Serverless with an AWS Lambda service provider, as well as Google Firestore for our database. We have a large database of movies from tMDB, the Movie Database, from which we populate the queue. It begins with a random selection from tMBD. As individuals swipe, we calculate a "fit" score for each movie in the database, based on a pre-processed similarity matrix we made that takes into consideration cast, directors, genre, and plot. Movies with the highest "fit" are then added to the queue to be swiped on by the group. Movies that are swiped on receive a "multiplier" which increases on right swipes and decreases on left swipes. We multiply the "fit" by the "multiplier" to get our ultimate "importance" of each movie. After the swiping process is done, we present the users with the four movies of the highest "importance" score.

Challenges we ran into

Dataformatting issues were our biggest issue, it was a lot to take on for only 24 hours. Between the front end, back end, and algorithm, there were a lot of parts to fit together.

Accomplishments that we're proud of

Last year at Hack @ Brown, we were only able to complete a prototype of the UI of a project. However, this time we were able to integrate the front end, back end, and algorithm. We're super proud of the idea and excited to test this out with our friends over Netflix Party and Zoom. We hope others can use this with their friends one day too.

What we learned

Using Google Firestore and collections. Dataformatting. Algorithm development.

What's next for chooze

After the chooze movie module, we are aiming to generalize chooze for other difficult group choices. For example, a playlist that everyone's happy with: you walk into a party and there's a chooze room code written on the wall. Everyone can join the room and begin swiping on songs they like or songs they want to hear throughout the night! Chooze curates the perfect playlist for the evening and allows everyone's input to be taken into consideration. We can also use chooze for selecting restaurants or TV shows.

Built With

Share this project:

Updates