Water is the lifeblood that sustains us. Yet 75% of all Americans suffer from chronic dehydration (New York Hospital-Cornell Medical Center), indicating that most people are shockingly unaware of their current state of hydration. Whether coming from an intensive workout or just eating chips while binge-watching House of Cards, water is necessary for the sustenance of any human on Earth. That’s why we created replenish, a system that seamlessly integrates Fitbit's fitness tracking with dehydration detection, allowing users to be easily reminded whenever they need to drink water. In addition, waste from single-use plastic water bottles is a tremendous problem - more than 38 billion water bottles end up in landfills in America each year. When users need water, replenish guides them to the nearest source of drinking water, such as a water fountain or bottle filler, helping them to stay hydrated and reducing waste, allowing us to pursue a healthy and sustainable future.

What it does

replenish helps users stay hydrated. First, replenish extracts heart rate data from a user’s Fitbit, and extrapolates the level of physical activity they have been engaging in. It uses this to calculate how much water their body needs to return to a perfectly hydrated state. Then, replenish directs users to the nearest source of drinking water, promoting healthy users and minimizing plastic bottle waste.

How we built it

First, we used computer vision to analyze infographics that showed the locations of water fountains on Princeton and Harvard campuses, and generated corresponding pin markers on Google Maps that can be used to guide users to the water fountain nearest to them. We then created a software pipeline that integrates an intuitive mobile interface (an Android app that we created) with a highly scalable backend (that we made in Standard Library) and Fitbit's APIs, which we use to access the sensor data from the user's Fitbit. The mobile app allows clients to authenticate their identity with Fitbit servers, but is minimally computationally intensive for users' phones: parsing the Fitbit data and extrapolating analytics all happens in the cloud, within our stdlib backend.

Challenges into which we ran

  • Having to develop a mathematical model to correlate heart rate with dehydration level
  • Fitbit API access authorization not cooperating
  • Figuring out how to use stdlib with http requests
  • Working with unfamiliar APIs (Fitbit and Alexa) and Android Studio

Accomplishments that we're proud of

Being dehydrated is a very common problem, and it's really cool that we were able to harness the sensors in seemingly ubiquitous fitness trackers to extract useful information that is, as of yet, not present to users. Alerting users to dehydration in real-time can help improve the quality of life of millions of people, and can also improve environmental sustainability by promoting eco-friendly modes of water consumption.

What we learned

We learned many things through the process of doing this project, like

  • what stdlib is, and the unique utility it offers
  • how to create an android app
  • how to tap into wearable sensor data through the Fitbit API
  • Harvard is trying to dehydrate their students (no, really, there are only five water fountains on all of campus)

What's next for replenish

  • Alexa integration, to allow users to exploit voice commands to be more aware of their health
  • Extending our water-fountain maps to a larger geographical range - perhaps we can start by including more college campuses, and expand to other tourist-heavy cities and public places
  • Adjusting the algorithm for different health conditions like diabetes, hypertension
  • Allowing users to contribute to the maps by placing pins wherever they encounter water fountains in the wild
Share this project: