Description of Project

With a bag of chips on the sofa and the TV echoing across the room, there's a lingering sadness that today, once again, laziness won over discipline. Thus, NutriGuess aims to bring awareness and perspective on the less romanticized, yet still vital, aspect of health: diet. Using its gamified setup to hook the users, the site brings the user the power of perspective--the calories of Swiss cheese versus peaches, the protein of herring versus beet greens. Slowly, the user will start to remember which had what nutritional value, until one day at the grocery store, they remember "hey, didn't parsnips have more fiber than turnip greens?".

How we built it

When we saw that the theme, health and wellness, was optional, our team, VitalCode, thought about creating a previous idea we had related to AI. However, we decided to come up with a new, on-theme project idea to increase our chances of winning an award, especially with the tough competition. After thinking of NutriGuess, we chose to create it in Python, since we were both well-versed in it. After realizing the challenges that would come with this, though, we arranged to switch to JavaScript, HTML, and CSS, using GitHub Pages to host the website. Even though this set us back a bit, we believed it would lead to a better final product. Once we finished NutriGuess, our team started working on the video. Our initial idea was to film ourselves talking over a recording of NutriGuess. In the end, though, we decided to record only our voices and afterwards animate the video with a couple of online drawing programs, as we liked the style and felt it made for a funnier and overall better video.

Challenges we ran into and accomplishments that we're proud of

Throughout the project, the challenges varied wildly, with many of them being seemingly simple but surprisingly problematic. The main exception to this trend was at the beginning of the project, when we realized that making a user install a Python script, along with fonts and music, would be far too arduous for the user. After a few hours of creating the base of NutriGuess in Python, we decided to switch it all to a website, using JavaScript; to make matters even less ideal, only one team member, Magnus, had extensive experience with websites and JavaScript. With all that stacked against making it online, it was a coding masterpiece when, only an hour or so later, all of our work was on a functioning website. After that, there were only four major hurdles, two from Magnus and two from Noga. Chronologically first, Noga experienced the newcomer's struggle of learning, or, at least, understanding JavaScript; although not awful, it did leave the team less equipped than previously planned. We encountered the next obstacle a little later, when we noticed that the questionnaire text was uncentered, which should have been an easy fix, yet led to an hour-long chase for the bug, which turned out to be a single line of code limiting the container's size. After this, it was near the end of the first day, and with us being tired from coding for the last ten hours, it started taking longer to do simpler things, with more problems coming up. The two main challenges after this were for Magnus, the volume bar on the website, and for Noga, a capitalization function. Each of us spent three or four hours on each of our implementations. Magnus's volume bar created different seemingly random problems after every time he fixed one, and Noga had a beginner's struggle to figure out "what does that even mean?!", using Magnus's brief tutorial on JavaScript and the infinite knowledge of Google as heavy crutches. In the end, though, the volume bar looked and functioned perfectly, and the capitalization function was working flawlessly. Thus, after 17 hours of bug hunts, failures, and successes, our team calls the project, as a whole, a huge success.

Share this project:

Updates