replenish

Real-time map shows locations of all public (green) and private (yellow) water sources on Princeton campus

Takes biometric data to create a user-specific mathematical model that calculates how much water the user needs

User logs in to the app with their Fitbit account

Google Maps feature provides directions to the nearest water source

Ideas for generating user-specific mathematical model

Bottle filling station at Princeton

User Interface design process

General outline of how to implement replenish

Flow chart of how replenish works in the back end

Inspiration

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

Built With

Try it out

Submitted to

Created by

I worked on the backend of this app, including using the Fitbit APIs to feed data into a mathematical model I created to calculate water need based on heart rate. I also established the stdlib workspace as a way to connect the app to multiple APIs.