Diabetes is a chronic condition that causes problems with the production of insulin, a hormone that our body uses to regulate our sugar levels. With little to no insulin being produced in the pancreas, patients with diabetes must regulate their glucose levels by directly injecting insulin.

About two months ago, our friend and fellow Aggie, Aidan was diagnosed with Type I diabetes. Since then, he's told us about his struggles in self-administering insulin. He would inject insulin before a meal, only to find out shortly after that it was an insufficient dosage and have to self-administer again. Worse yet was when he would overshoot and administer too much insulin, bringing his glucose levels to dangerously low levels that could induce a coma. Often he would have to anxiously sit and wait, hoping that his insulin levels would be back within a safe range after readjusting his dose.

We wanted to create an application that could aid Aidan, fellow Aggies, and anyone adjusting to diabetes by showing their glucose levels ahead of time. Our model would be trained on a user's data, and be able to predict their glucose for a set amount of time. If successful, it would enhance insulin dosing accuracies for patients and help them avoid having to readjust, ultimately improving their quality of life.

How to use

Select Glucose, Meal, or Insulin.

For Meal or Insulin, enter the value you wish you predict/record for in the box. The "predict" button will show you the "what if" for the input. ex) "predict" for 50 grams of Meal (carbohydrate) will chart out predictions for your blood glucose levels for the next 30 minutes.

For Glucose, Meal, or Insulin values, the "submit" button will save the input in the box and remember it for future predictions and predict what your blood glucose levels will look like for the next 30 minutes ex) If you currently dosed for 5 units of insulin, press the "submit" button to make Gluchart remember it in consideration for future predictions.

What we learned & Challenges we faced

Brendan: At my first hackathon, I've learned so much about frontend and React, along with working on a cross-functional team! One of the biggest challenges was working with UseState and bringing those calls to another component, as it was my first time working with such advanced concepts of React.

Sri: This hackathon was great, I was able to learn about the full power of React.js and utilizing js libraries to enhance our project. One struggle was definitely pushing and pulling the GitHub repo while working alongside my teammates. In particular, merging files and sorting out the lines of code that needed to stay and be removed was definitely challenging.

Tim: I had a really fun time working with the machine learning aspects of our project. I had always considered ML/AI projects out of my scope, but now having worked on one I am excited to explore more in the future. Deployment on Azure was simpler than I thought, and the challenges we met along the way were fun to overcome.

Jun: Both machine learning and node.js framework were topics I was unfamiliar with before. During this hackathon, I learned about how to put a machine learning to work and also got to see full-stack development from end to end. The process led me to read documentation and sometimes it felt like some solutions were a last-resort leap of faith, but our team were able to pull through it all. This hackathon made me more familiar with full-stack development and more comfortable with programming outside of my boundaries.

How we built our project

Gluchart is a full-stack application hosted on Microsoft Azure. The machine learning model was written in Python and trained on Azure. The web app was also hosted on azure, with the front end being written in React and the backend constructed with express.

Share this project: