Inspiration

Living in a generation that has become health conscious and has access to a large wealth of technology, we were inspired to create tools for users to feel more informed about their health while food shopping. We hope this real-time health feedback can help users make more informed, more healthy decisions.

What it does

InstaHealth is a chrome extension that works with the Instacart grocery delivery website. While the user is browsing, it searches the product's name and obtains nutrition data which it then compares with the user's nutrition goals. Pie charts are displayed that represent the percent of the user's goals that would be met if the food item is purchased and consumed.

How we built it

Our chrome extension scrapes the Instacart page as the user interacts with it and obtains the name of the item the user is browsing. This name is then queried using our python backend, which pulls nutrition data from Nutritionix (a nutrition API). Our backend then takes the raw nutrition data and cleans it to obtain the specific values and formatting we want. In our use case, the user's health goals are scraped from their MyFitnessPal account: a separate service that allows users to input health goals and receive daily macronutrient and micronutrient recommendations. Finally, we determine to what percentage the chosen food item will fulfill the user's goals, which is displayed in easy to read charts on our extension.

Challenges we ran into

Initially, we had difficulty scraping data from the Instacart website through our extension and cleaning it to obtain just the name of the product and nutrition info if available. We had to experiment with different ways of identifying the needed data, so that our extension could work on any product at any store. We also had trouble connecting the output data of our python functions (which stored the nutrition information from the Nutritionix API) and our chrome extension. We solved this by creating an intermediary API that the chrome extension could call locally, which would then pull needed data from the Nutritionix and MyFitnessPal APIs.

Accomplishments that we're proud of

We're proud that we were able to tackle a need that we and many of our friends have had while food shopping. Meeting macronutrients and staying on top of health goals is something that is very important to us and our network, which is why we are so passionate about this product. We're also proud that we were able to make the extension responsive enough to work quickly for whichever product the user is browsing.

What we learned

We learned that finding the right API and right tools is essential. Some APIs like MyFitnessPal API are private-access only, so we were forced to find our data in a different manner. We also wasted some time on Kroger's API by obtaining authorization, validating our access tokens, etc. when Kroger's API was not the best tool for our use case in the first place. Now we know to focus more on ideation and design before we begin solving issues that do not need to be solved.

What's next for Instahealth

Instahealth has several directions for growth that we have brainstormed. Our first step for expanding the chrome extension is to enable it on other popular grocery/food shopping websites such as Walmart, Amazon Fresh, Kroger, Publix, etc. A feature we would add is price optimization. We want our users to be financially healthy as well! This additional feature would allow users to view if the product they are browsing is cost-efficient compared to other products that satisfy similar nutritional goals. We can also suggest better products that satisfy similar goals if the current product is not price-efficient.

Built With

Share this project:

Updates