Inspiration

I love film, and wanted a way to find people quickly with similar taste.

What it does

Users can enter a letterboxd profile. A web request determines the profile is valid. A web scraper gets the users top 4 from their profile. those 4 films are stored in a database. they are also queried by an api call to TMDB which stores poster information in the database. then that info is hosted by the app.

How we built it

Mainly using flask for python. html css for the web app. mysql for the database.

Challenges we ran into

The first big Challenge was building the web scraper. i had to do some digging on letterboxd's html to find the info, then i had to build a specific regex to parse the tittles with the many edge cases a films name can have. This is the first time using api calls to another service like tmdb which was also difficult to get working. Originally i didnt host anything in a database, i just had the user enter a list of profiles, but it took a very long time to boot up the app, and letterboxd is a bit slow to scrape, the database speeds everything up, and once the data is in it it is very fast to access.

Accomplishments that we're proud of

I think the app is very simple and clean. This is my first time building a web scraper and i figured out what info i needed and how to find it myself.

What we learned

Creating web apps using python, web scraping, Flask, and connecting it all to my database.

What's next for Cinema Swipe

making it into an actual website and not just locally hosted, populating the database with as much user info as possible. I would love to make a true algorithm for finding profiles once there is a bunch of user info to try and find users with similar taste.

Built With

Share this project:

Updates