"Perfect Pick-Me-Up" Sample Question
ThinkDrink Score History
Students now have so much work to do - with extracurricular activities, classes, sports, and HACKING, OF COURSE, it’s easy to find yourself chugging an energy drink at 10PM after volleyball practice before starting your homework and finding yourself hyper at 2AM, dehydrated and unable to sleep, yet completely exhausted. Think Drink is for students who need an extra boost but need help to determine how much caffeine is too much.
What it does
ThinkDrink’s primary feature is "Perfect Pick-Me-Up", a place for the user to get a recommendation for what to drink based on what they’ve done so far and what they have left to do. ThinkDrink’s formula factors in data about the user’s exercise, stress level, the amount of work they have left, the weather, and their consumption of water and drinks with sugar and caffeine. Based on the data from these fields, ThinkDrink determines the best beverage to sustain the user. Suggestions range from coffee to milkshakes, and regardless of the suggested beverage, the user is always encouraged to drink more water.
Another important feature of Think Drink is the ThinkDrink Score. This feature allows the user to calculate their current score as well as view their past scores to track their daily beverage choices. The Think Drink Score takes two factors into account: how much water the user has been drinking and how closely they have followed the suggestions from Perfect Pick-Me-Up. Too many students rely on energy drinks and other beverages high in caffeine, which provide a momentary burst of energy but result in a crash. The aim of this product is to encourage users to track and understand what they are consuming. While we have aimed to make ThinkDrink as inclusive and helpful as possible, it cannot take into account any personal health issues the user may have, and the recommended caffeine intake calculated by ThinkDrink is based on the needs of the average healthy adult and is therefore not suited to children under the age of 17.
How we built it
Our team, Byte Me, was started in our high school AP Computer Science class, in which we were the only girls. We decided to further our knowledge by attending a hackathon. We built the application in Java, utilizing the Scanner class to gather user input data. Due to time constraints, we weren’t able to create a graphical user interface but rather coded the back-end of the app in Java and have a simple terminal display for the user to input their information. We did, however, create wireframes of what we expect the app to look like once the GUI is complete.
Before creating the “Perfect Pick-Me-Up” calculator, we first had to research caffeine and its impact on people. One specific piece of information we wanted was a formula to calculate caffeine tolerance based on height and weight. When we were unable to find one, we used data tables we found to extrapolate a relationship which we used to create the formula used in ThinkDrink’s Caffeine Calculator.
Challenges we ran into
There were a few challenges we ran into while developing this application. One of these was figuring out how to recommend the proper drink to the user. We had already determined the questions that were going to be asked, but we needed to figure out how to use this information and give them their perfect drink. After much deliberation, we figured out that the best way to do this would be through a point system. Each type of drink had a point value that began at zero, then based off of what the user inputted for each field, the values for each drink would increase or decrease. The drink with the most points at the end is the outcome. However, we also realized that the scores could tie. In this case, we utilized the Math.random() method to determine the drink. This was a difficult process because we had to utilize multiple arrays of both integers and strings and whenever we ran into an error it was complicated to track and find the problem.
We also had the challenge of providing users with a healthy, correct type of drink. In order to solve this problem, we did a lot of research and even developed a caffeine formula based on height and weight to decide when users should no longer drink caffeine during the day. Since we were creating an outline of an app, meaning the code and graphics have not been implemented together, it was often hard to format the code in the way that it would work for the app. Without the guidance of something to look at and physically understand, we had to theorize and decide what coding processes would be the best ones to utilize. Ex. the effectiveness of while loops, arrays, etc.
Accomplishments that we're proud of
We are extremely proud of what we created this weekend. Our app runs properly, stores data, and takes into consideration many factors that most students don’t think about when deciding to consume caffeine. We definitely went out of our coding comfort zone and really stretched our limited knowledge of programming, making it all the more satisfying that our code compiles and accomplishes what we want it to.
What we learned
We learned that most of us were drinking too much caffeine, and actually used the app we developed to calculate what we should drink throughout the hackathon. Additionally, we learned an incredible amount about how to apply the tools that we learned in our AP computer science class this year and use them for something fun and useful. We gained a new appreciation for just how useful programming is, and hope to continue to work on our project beyond the hackathon until it is a fully functional app with a UI.
What's next for Think Drink.
Think Drink is a productivity and health app, which means that the possibilities for expansion are virtually endless. Think Drink could work with companies to offer rewards to users for improving their score or reaching milestones. Think Drink could also work with the Apple Health or Google Fit to track heart rates or physical activity. The app could include a library where users could look up the calories, milligrams of sugar, and the milligrams of caffeine of popular drinks, and how consuming the drink will affect their Think Drink score. Think Drink could even expand to use your location to recommend stores and cafes that have the drinks the app suggests.