Inspiration

One of team members, Audrey, has serious indecision issues. She spends more hours scrolling through Netflix than actual movie-watching, annoying her friends on Friday movie nights. This app for all Audreys in the world. Now these Audreys can go do more productive things with that extra time.

What it does

Cinemap leverages advanced AI to understand your unique tastes and preferences. It curates a selection of movies tailored just for you, saving you hours of indecision. Simply based on your watch history and recent movie reviews, the app will quickly predict some movies for you. You can also prompt our prediction system with what you're feeling in particular through a quick quiz for even further individualized results.

How we built it

We found an dataset online. With over 62,000 movies and 25M movie ratings made by 162,000 users, we had a lot of up-to-date data to pull from. We use movies from this dataset as the basis for our suggestions, and we also trained it on these movies and ratings. Our transformer model of choice was LABSE. Using this model, approximate nearest neighbors, neural collaborative filtering – we simulated user to movie interactions based on other user's ratings to see how similar user's tastes were.

From there, we developed a NextJS-powered platform for people to use. We're able to take the user's data and interact with the model via Flask.

Challenges we ran into

We are new to NextJS and the "wonders" of server-side rendering. We faced more issues than expected understanding the differences of client vs. server components. We've also never used SQL in a full-scale project like this before. Stitching everything together proved to be quite the daunting task.

Accomplishments that we're proud of

We took our first dive into machine learning, and we think we did very well for beginners! The model was successfully trained on the dataset we obtained and fine-tuned.

What we learned

Doing things the right way and worrying about type-safe is not the move for a hackathon. Not using the generic MERN stack was also not the move. We dreamed pretty big, but we made incredible friendships – and that's more valuable than any time saved not searching for movies!

What's next for Cinemap

We had to compromise in a couple of places, as you can see from our UI/UX wireframes in our Figma laying out our app. We wanted to do group predictions, where suggested movies based on multiple people's preferences. This wouldn't have been too difficult to implement if we had more time (i.e. we'd probably take the union of movie ratings the group of users had reviewed). We'd also like to implement a lot more LetterBoxd-like features, like bucket lists and friends.

We also wanted to deploy this, but we have no money 😭😭😭

Built With

Share this project:

Updates