PRIZE CATEGORIES
Huawei Custom Challenge: Best Pandemic Life-Related Hack Best Newbie Best Design WFH The Entertainer Useless Stuff Nobody Needs Warm and Fuzzy
Inspiration
As we're sure many of you can relate, this Omicron-motivated lockdown has been a hard time for us; a time in which we were stuck at home, on the couch, not knowing what to do other than twiddle our thumbs waiting for anyone to announce any potential reopening measures. The idea for Couch Potato then came to mind; a smart assistant that helps you find something to do around the house.
What it does
Our initial goal for Couch Potato was to have multiple categories of activities to do, including Marvel movies to watch, Zelda games to play, cooking recipes to make, and random websites to visit. However, due to the abundance of data to go through for even one of these categories and considering the time limit of McHacks, we decided to stick to only Marvel movies, while leaving our code to be scalable and usable for many other future developments.
Couch Potato's Marvel Suggestor first asks you to choose a Marvel movie out of any of them. This input then goes into a Python algorithm that searches through the IMDb database for similar casts, release dates, and order in chronology. The web app then outputs three movie suggestions for the user.
How I built it
We separated our team into two divisions; one for the front end, and one for the back end.
All through Python, our back-end division imported the IMDb database of Marvel movies, filtered it. Then, through a machine learning algorithm using panda data frames, Jupyter notebook and Sklearn we were able to generate 3 recommended movies in function of 5 key factors and then sent it as a parameter for the Flask web app that our front-end division designed.
The latter first took time to mock-up UI designs and colour schemes on Figma, and then used HTML and CSS to integrate the Flask variables into a beautiful mobile-compatible web app. We also used Ngrok to port forward the Flask host towards a link that we could visit on our phones.
Challenges I ran into
There were challenges along every single step of the development process. We first threw around dozens of ideas while brainstorming, which highlighted the many creative differences our team held. After finally settling on an idea, we then had to find a platform to host it on; we asked for mentorship in the McHacks Discord server and were quickly advised to use Flask over Django for a quick app setup. From then on, Python development was a breeze ad we all had extensive experience coding in the language. Meanwhile, we were struggling to bring our Figma ideas to life in HTML. We scoured through StackOverflow, W3Schools and other helpful resources to finally come to the design we had in mind. To wrap up, we had some final troubles with Flask variables in HTML as well as some Ngrok port forwarding confusion. We stayed up late to make sure our web design was consistent and responsive, and to finalize the project together.
Accomplishments that I'm proud of
We are all very proud of learning Flask, a package we had never even heard of before this hackathon.
What I learned
We learned how to link a Python code to an HTML webpage, how to make an HTML webpage into a homescreen app for iOS, how to run a locally hosted web app on another device, how to use IMDb's database as a machine learning frame, and much more!
What's next for Couch Potato
Couch Potato is our most ambitious project as a group in software development. In the future, we plan on expanding its machine learning abilities to more activity categories, as well as upgrading our results screen to display more interesting visas and useful information.
Log in or sign up for Devpost to join the conversation.