As an avid audiophile and movie lover, I wanted to make an app that could continuously send me new recommendations to check out when I get bored, as well as build something related to movies and music while also challenging myself.
What it does
It lets the user enter in a movie or song they liked using a looped menu interface, and then gives them 5 suggestions to suggest and check out next.
How I built it
I started off small from the ground up. I first tackled building the recommendation system for the music by reading and utilizing Spotify API, which I used the spotipy wrapper module for. Then I went on to build the recommendation system for the movies using TMDB and the tmdbv3api wrapper in Python. Lastly, I built the main interface using text modules such as pyfiglet and termcolor.
Challenges I ran into
Since I mainly built on Windows, it was difficult installing certain programs and modules as well as debugging errors during installation. In particular, I ran into a lot of trouble trying to install the KivyMD framework in my virtual environment. As a result, I had to drop my plans of developing this into a mobile app and go with a terminal application instead. Furthermore, finding documentation and articles that were readable and understandable were immensely difficult, and so progress was often slow because of this. But most challenging of all, was fighting to stay up and not fall face flat on my keyboard throughout the night.
Accomplishments that I'm proud of
Managing to wade through the mess of JSON and formatting the results properly, outputting exactly 5 results for each function as I intended for it to be, communicating successfully with the APIs I used, and completing this project to the best I can overall!
What I learned
A bit more about how to read and understand long JSON results and files, communicating with and understanding APIs more effectively, and reusing code in Python.
What's next for Savender
I will definitely be developing this into a Material design-based app for sure after this Hackathon, and adding a feature to recommend books next. Overall, this was a great start off to the project and I definitely had a lot of fun and challenges building this!