Inspiration & Goal

Finding a movie to watch with friends can be harder than it seems: everyone has different preferences, someone's always seen every movie, and no one really knows what they want to watch. To make this process a little bit easier (and save me and my friends an hour each week), I thought I'd use the CSG Ascendon API to build a web app that tracks what movies users want to see and marks the movies they've seen already. Then, given a group of users/friends, the app would return a movie (or movies) that overlap on every user's watch list and haven't been seen by anyone.

Process & Challenges

I coded mostly in Python (Flask, with SQLAlchemy for databases of users and movies), plus HTML/CSS/Javascript for some minimal front end using Bootstrap. Since I'm relatively new to web development, I ran into quite a few challenges starting out and, later on, when deploying on Heroku. In particular, I found it challenging to try to manually integrate with the Facebook API (which broke when I deployed to Heroku) and to deal with the particulars of SQLAlchemy, but I learned a lot about various things like OAuth2 and PickleTypes.

What's Next

Given those challenges, I didn't end up reaching the final goal of the app, but I did get a good start and set up the watch lists. I'll probably try to reach that goal in the near future, polish the design and clean up the code, and maybe link it with data from other sources like IMDb's alternative interfaces.

Share this project: