Inspiration

The inspiration for NutriMate came from the growing need for personalized nutrition and meal planning in today’s fast-paced world. We wanted to create a solution that not only suggests recipes tailored to individual dietary preferences and cuisines but also provides detailed nutritional insights for better health and well-being.

What It Does

NutriMate:

  • Suggests Recipes: Based on user prompts, it provides personalized recipe recommendations tailored to dietary preferences, food habits, and cuisines.
  • Nutritional Insights: Displays the nutritional content of recipes and ingredients to help users stay informed about their meals.
  • Allergy Consideration: Ensures recommendations exclude ingredients that users are allergic to, prioritizing their health and safety.

How We Built It

  • Database: We used Snowflake to create and manage tables, storing recipes and ingredient data as the core database for the app.
  • Search and Retrieval: Integrated Cortex Search to retrieve relevant data efficiently from the database.
  • AI Integration: Utilized Mistral-LLM for natural language processing. We implemented the classify_text function to categorize prompts into three categories: recipe, ingredients, and ingredients by name.
  • PDF Generation: Used the fpdf library to allow users to download recipes in PDF format.
  • Frontend: Developed the user interface using Streamlit, customizing the UI with explicit HTML adjustments.
  • Deployment: Deployed the app on Streamlit Community Cloud, ensuring seamless access.

Challenges We Ran Into

  • Configuring Snowflake and integrating it with the app posed some initial difficulties.
  • Fine-tuning the classify_text function to accurately identify prompt categories was complex.
  • Adjusting the UI to meet user expectations required careful design and HTML customization.
  • Download Buttons: Disappearing after a certain interval.
  • Categorizing food items according to their nutritional facts.
  • Running the Streamlit app in the Snowflake environment.
  • Finding the right dataset.
  • Comparing two food items based on their nutritional facts prompted an error since the program initially lacked this feature.

Accomplishments That We're Proud Of

  • Successfully integrating multiple technologies like Snowflake, Cortex Search, and Mistral-LLM into a cohesive application.
  • Creating a user-friendly app that simplifies recipe and ingredient exploration.
  • Enabling PDF downloads, enhancing usability and practicality for users.
  • Deploying the app effectively on Streamlit Community Cloud.

What We Learned

  • How to leverage Snowflake for database management and its integration with a frontend app.
  • The power of AI tools like Mistral-LLM in text classification and enhancing user interactions.
  • Streamlit's capabilities for creating interactive, visually appealing apps.
  • Overcoming deployment challenges to provide a smooth user experience.

What's Next for NutriMate

  • Expanding the database to include more recipes and ingredients with detailed nutritional information.
  • Introducing personalized meal plans and dietary suggestions using advanced AI models.
  • Enhancing the app's UI/UX for a more engaging experience.
  • Adding features like voice-based search and real-time cooking assistance.
  • Exploring integrations with fitness trackers to align nutrition with fitness goals.

Built With

  • mistral
  • python
  • snowflake
  • streamlit-community-cloud
Share this project:

Updates