Inspiration

Gut health conditions are becoming more and more prevalent today, especially among youth in North America. Digestive diseases affect over 35% of the global population each year (Physician Weekly). Access to gut health specialists are extremely challenging and many patients miss out on early intervention opportunities before their conditions get worse. This problem is especially harmful to those in underserved communities where there are limited local specialists and high consultation costs for those specialists.

What it does

GutSense gives access to both quick and in-depth insights about your gut health. You can talk to Gerry about any immediate challenges you have or any questions about gut health from the landing page, but if you want the real in-depth insights, you complete a 'Gut Check'. This is a comprehensive questionnaire that we use to give personalized recommendations and insights into your gut health. You can then talk with Gerry about your results and any questions you have.

How we built it

Gerry is an instance of Gemini 1.5 that acts only as a gut health specialist/consultant. The responses to the questionnaire are used to categorize the patient in 6 predefined condition categories, each of which emphasizes the answers to a subset of the questionnaire to make the categorization. We provide these categorization instructions, personality/response instructions, and context for the specific patient, and get an output from Gemini accordingly. We specify the response schema from Gemini to display it in a more structured way, as shown in the results page below.

Our stack consisted of a React frontend which sent requests to our custom endpoints in our NodeJS backend; using Redux as a global state manager. All of the heavy processing, including prompt generation, data parsing, and sanitization happened in the backend which sent back clean JSON for us to work with in the UI.

Challenges we ran into

Building a strong prompt template and instruction set was a challenge, especially for accuracy and avoiding ambiguity. We had to iterate on the various instructions using Braintrust to reach the clean, direct response we get in our current build. For the categorization, we also considered decision tree and random forest algorithms, and a variety of LLMs but eventually landed on Gemini due to its easy context injection, input/output training, and specifying response schemas. It was also difficult to identify the condition categories and how each question's response maps to a condition.

Accomplishments that we're proud of

  • We are proud to have started with a problem statement for which we had no solution. We came up with the idea for GutSense during the walk to the opening ceremony and had no idea how to implement any of our theoretical ideas in practice. We looked at the problem and broke it down into several sub-problems, and slowly, we were able to find a solution to each of those problems
  • We are proud to have implemented 3 useful features well. Given the 24 hour timeframe that was a great accomplishment
  • Our team is really proud of the UI and UX in this project, it turned out to be clean, sleek, and easy to use
  • Lastly, we are proud to have built our application in a robust way. We built specific end-points and services on our back-end to process all of our requests for our specific features. We kept all heavy processing not the backend, allowing us to build a lightweight and maintainable UI. For example, we built a service that parses patient survey information into an engineered prompt that is optimized for Gemini

What we learned

We learned that good user experience is far more important than a complex technical solution. Our app fed the results from user surveys to Gerry, an AI assistant who would communicate and advise the user in real time. Technically, this was by no means a challenging task, especially compared to our previous struggles in engineering prompts, managing complex application states, etc. However, people who tried our application cited the feature as one of their favourites; it allowed them to ask pressing questions about their diagnosis, clarify things that confused them, and basically gave them a personal nutritionist. A feature which we discounted due to its relative technical ease, became a way for our app to stand out. Additionally, we learned the importance of user feedback as a whole; it allowed us to see through our bias as devs and gain invaluable perspectives.

What's next for GutSense

We hope to refine our questionnaire list and categorization system based on conversations with gut health experts. This will ground our recommendations in the latest scientific knowledge and add credibility to our recommendations. We can also work with these experts to develop an algorithm for customized, step-by-step treatment plans based on these insights and categorization to take the value-add of GutSense a step forward.

Built With

Share this project:

Updates