Enjoy a working prototype of QuickFlick by opening the QuickFlick web app on your laptop or on your smartphone!

Inspiration

There is an ever increasing in-flux of streaming services, movies and shows. This makes it extremely hard to navigate the streaming jungle. Existing services have all the data about your viewing preferences - yet browsing for a movie still causes decision fatigue. Why? The problem must lie in the way the recommendations are presented. We want to provide the modern way to explore recommendations - inspired by the one app that really knows what you want to watch.

What it does

QuickFlick is a fun, visually stimulating way to explore movie recommendations. Our scrolling feed presents recommendations one-by-one along with all the important information at a glance. We enhance the experience with entertaining short form video content related to the movie. The system provides single, targeted suggestions without the need for any annoying dialogues in advance. Instead of traditional lengthy movie reviews, a social-media-like comment-section, generated with the assistance of AI-summarization of reviews, gives an instant overview over your peer-group's opinion of the movie. Last but not least, QuickFlick offers increased transparency:

  1. We indicate why you are seeing a recommendation via the labels "for you" (based on the algorithm's knowledge about the user), "trending" (based on what's hot right now) and "hidden gems" (to deliberately burst the user's bubble).
  2. Using AI-powered Natural Language Processing we explain why you might like the recommendation (note that this is completely missing in classical interfaces).

How we built it

We built the web app using Angular in combination with Ionic. Due to this our app is available on all platforms with a mobile-first design. The movie recommendations are fetched from a Python+Flask server. The server generates the recommendations based on the given dataset from different streaming services and The Movie Database. The recommendations take into account whether a user indicates that he already watched the movie (checkmark). The system enriches movie recommendations by (a) AI-summarizing lengthy movie reviews for a social-media-like comment-section (b) providing reasons why a movie could be interesting to the user. This is achieved by leveraging GPT-3 through the OpenAI API. In the frontend we also utilize Giphy to provide entertaining video content related to the movie. We have set up continuous deployment to deploy our stack to a serverless environment in the cloud. Our frontend is deployed to Firebase while our backend is deployed on Google Cloud Run. For the database we use MongoDb atlas.

Challenges we ran into

The three hardest challenges we faced (besides the lack of sleep) were:

  1. Missing entries in the given movie data.
  2. Creating meaningful recommendations without a fully fledged recommender system setup (which would take days to deploy and train).
  3. Rate limits of the OpenAI API.

We tackled the challenges by:

  1. Being robust to missing data in the frontend and augmenting data as needed through calls to other APIs.
  2. Using the discovery and recommendation capabilities of the The Movie Database.
  3. Only making calls to the OpenAI API as needed and with careful prompting.

Accomplishments that we're proud of

We are especially proud that we managed to host the full tech stack (frontend, backend & database). Which means that we are able to present a fully functional prototype that you can try out yourself.

What we learned

A major learning for the backend team was how to utilize OpenAI's GPT-3 language model to enrich movie recommendations. We also learned a lot by deploying the infrastructure to a serverless environment.

What's next for QuickFlick

We have many ideas for further development and extensions of our prototype:

  • Deploy a full recommender system to learn more and more from the way the user interacts with the content (dwelling time, clicks, etc.). Just like TikTok does
  • Enrich the app with social capabilities like connecting with users that enjoy similar movies
  • Enhance the interface (detailed description and trailer for movie after a tap on the screen)

We also hope that we have inspired you with a new way for recommendations to be presented.

Here is how our employee of the month GPT-3 Davinci describes QuickFlick:

QuickFlick: The quickest way to find your next flick! The QuickFlick hackathon project is a prototype of a movie recommendation web app that uses natural language processing to provide explanations of why a movie might be recommended to a user. The app also includes a social-media-like comment section and entertaining short form video content related to the movie.

Built With

Share this project:

Updates