One night when deciding what movie to watch, Andrew simultaneously was stalking a girl on Facebook when he found out that they had liked similar movies. It prompted us to create an app that would use your Facebook profile data to recommend movies.
What it does
The app fetches data from your Facebook profile, and sends that data to a server that runs a sparse denoising auto-encoder. The trained auto-encoder then sends a list of recommended movies based on the liked Facebook movies. Furthermore movies can be browsed on based on genre/decade/rating on the app through the TMBD-api. It provides a clear swip-card interface that allows users to bookmark suggested movies or ignore it.
How we built it
- Using react-native we created a front-end of the app. The Facebook-sdk allowed us to collect liked movies-titles from facebook. Then using TMBD we fetched the remaining details of the movie. The app provides two main functionality. The movies liked facebook are sent to our server, written in python, which runs a denoising auto-encoder with the use of TenssorFlowm and returns recommended movies based on feature vectors. The second functionality is to browse more movies based on genre/decade/rating on the app through the TMBD-api. The user can save movies he or she is interested in watching from the recommendations or searches.
Challenges we ran into
-setting up facebook SDK -causing public apis to be shut down by requesting too much data. Hence had to find alternative APIs. -implementing front-end logic (fetching/pasing/unifing data from various APIs) -implementing all of back end (scrapping django, and rewriting an entire server in python, implementing promises and websocket) -implementation and training of denoising auto-encoder.
Accomplishments that we're proud of
-clean ui -the denoising auto-encoder algorithm was accurately implemented -successfully re-wrote a python server
What we learned
-Setting up backend -fetching and parsing data from several public apis
What's next for Movie Matcher
-optimized backend -professional apis