-
-
This is the page where the user creates his/her health profile
-
This indicates the popup through an extension that displays the score of the recipe on the website, in this case Pad Thai
-
This is a page with a split screen indicating the scores before and after the improvements
-
This is the nutritional label which describes the nutritional facts of the meal per serving
Inspiration
Our inspiration came from moving off-campus and taking control of our own meal preparation. As we began cooking more frequently, we realized the importance of understanding the nutrients in our food to maintain a healthy lifestyle. This insight motivated us to create NutriChef, a tool that would help us, and others, analyze daily nutrient intake and avoid unhealthy eating habits, ensuring we stay in peak health.
What it does
NutriChef is designed to analyze recipes on any website that the user visits from the browser, providing users with a personalized health score based on their specific health conditions, characteristics, and dietary preferences. In addition to evaluation, NutriChef can use AI to suggest healthier modifications to recipes, making them more suitable for the user’s health profile.
How we built it
We made a chrome extension so whenever the user goes to any page that has a recipe in it, NutriChef can process it. We used the chrome API's from the frontend and kept a script running in the background of the browser. The frontend was built using Svelte, HTML, CSS, and JavaScript to ensure an intuitive and responsive user interface that displays the health score and improvement suggestions. For the backend, we used Node.js/Express.js to handle heavy processing tasks such as integrating Azure OpenAI to generate recipe modifications based on individual health needs and preferences.
Challenges we ran into
One major challenge was finding an API that could suggest recipe modifications based on specific health parameters. Since none met our needs, we developed a custom algorithm that considers various health conditions and dietary requirements to generate suggestions. This required extensive research and implementation, which limited the time we had for adding other features. We also faced persistent issues with processing our nutritional API key, which frequently broke and caused delays.
Accomplishments that we're proud of
Despite the challenges, we are proud of sticking to our schedule and delivering the project on time. One of our key accomplishments was successfully integrating Azure AI, a tool that was new to us, into our solution. Additionally, we are excited to have used Svelte for the frontend, enabling reactive updates that enhanced the user experience compared to vanilla JavaScript. Completing our MVP with multiple features required long hours and efficient time management, and we’re proud to have pushed ourselves to meet these goals.
What we learned
We learned how to efficiently integrate multiple APIs and realized the critical importance of planning in the development process. Creating our custom algorithm taught us valuable lessons in algorithm design, while working with Azure’s sequential text generation expanded our understanding of natural language processing. These skills helped us generate personalized recipe suggestions tailored to users’ health profiles.
What's next for NutriChef
Daily meal planning: We plan to add memory retention for meals, allowing NutriChef to track what users have eaten throughout the day and suggest subsequent meals based on nutrient intake. This feature will also enable users to schedule meals on a calendar which can help it be more organized and better personalized recommendations.
Taste rating: We intend to introduce a taste rating feature that allows users to rate their meals. This data will be stored and used to fine-tune NutriChef’s recommendations, improving both the health and taste of future recipes based on personal preferences.
Chatbot integration: A future goal is to implement a chatbot, where users can directly input recipes and ingredients to receive real-time health and taste scores, making the interaction more user-friendly.
Log in or sign up for Devpost to join the conversation.