Inspiration
While cooking can be an enjoyable activity for many of us, the fast pace of modern life and occasional creative burnout often turn the question "What should I cook today?" into a common problem. It can be particularly demotivating to not know what to do with a few leftover ingredients in the fridge, or to struggle finding a quick recipe that suits our current mood. It was this lack of inspiration that led us to launch our Smart Recipe Suggestion System by Mood and Ingredients. Our goal was to bring a little "smart chef" into every home kitchen.
What it does
The "Smart Recipe Suggestion System by Mood and Ingredients" is an interactive web application designed to end kitchen indecision. It primarily allows users to receive personalized recipe suggestions based on two main inputs:
- Mood Selection: Users can select options based on their current state of mind (e.g., tired, energetic, joyful), time constraints (quick, medium, long), meal type (breakfast, dinner, snack), or dietary preferences (vegan, gluten-free, high-protein). - Ingredient Entry: Users enter the ingredients they have in their fridge or pantry into the system. The application then matches these entered ingredients with its recipe database. By combining these two inputs, our system filters and presents the most suitable recipes to the user. A list of missing ingredients for the suggested recipes is also provided, helping with shopping planning. In short, no matter what's in your fridge or what your current mood is, it offers a personalized solution.
How we built it
When developing our project, we aimed to build a robust and user-friendly structure using modern web technologies.
Frontend (User Interface): We used HTML, Tailwind CSS, and JavaScript for a user-friendly and dynamic interface. We designed interactive forms where users can easily select their moods and enter their ingredients. We prioritized the user experience by creating visually appealing and clear recipe cards. Backend (Server Side): We developed the suggestion engine and data management, which form the brain of the application, using the TypeScript and the react framework. Database: We utilized SupaBase to manage our recipe data. We established a structure that includes details for each recipe such as its name, ingredients, preparation steps, cooking time, and mood tags. We initially entered recipes manually, organizing them to form the core of the system. Recommendation Logic: As an AI approach, we developed an algorithm that scores the similarity between the user's selected moods and entered ingredients with recipes in our database. For ingredient matching, we leveraged basic natural language processing (NLP) techniques to consider word stems and synonyms. Mood tags and ingredient match percentages were combined to present the most suitable recipes to the user.
Challenges we ran into
During the development process, we encountered several significant challenges:
-Recipe Data Collection and Structuring: Creating a clean and consistent recipe database took more time than anticipated. Standardizing different spellings of ingredients (e.g., "tomato" vs. "tomatoes") and quantities was a significant challenge for data consistency. -Smart Ingredient Matching: Accurately matching user-entered free-text ingredients with recipe ingredients in the database was challenging. Going beyond simple keyword matching required us to experiment with stemming and partial matching algorithms. -Recommendation Algorithm Optimization: We constantly had to fine-tune the algorithm to balance the weight of mood selection and ingredient matching to present the most relevant and useful recipes. We encountered situations where one mood was too dominant, or ingredient constraints narrowed down recipes too much.
Accomplishments that we're proud of
There are several key achievements we are proud of in this project:
-Functional MVP Development: We successfully delivered a fully functional Minimum Viable Product (MVP) with the core features in a short period. -User-Centric Design: By putting the user experience at the forefront, we transformed a complex idea into a simple and intuitive interface. The ease with which users can select moods and enter ingredients has been one of the project's strongest aspects. *-Intelligent Recommendation Mechanism: We developed an algorithm capable of providing truly personalized recipe suggestions by considering both the user's mood and the ingredients they have on hand. This allowed us to differentiate ourselves from traditional recipe websites.
What we learned
While developing this project, we gained invaluable lessons, both technically and process-wise:
-Importance of Data Cleanliness:* We reaffirmed that data quality plays a critical role in the success of a project. Without accurate and consistent data, even the best algorithms cannot perform adequately. *-Iterative Development: We learned how effective it is to break down a large idea into small, manageable parts and proceed step by step. The MVP approach allowed us to receive early feedback and make continuous improvements. **-Value of User Feedback: At the beginning of the project, we tried to anticipate potential user needs. Throughout the process, we experienced how valuable feedback is for making the product better suited to real users.
What's next for Smart Recipe Guide
Our future plans for the "Smart Recipe Suggestion System by Mood and Ingredients" are quite exciting:
-User Contributions and Recipe Submission: We aim to integrate a system where users can add their own recipes or enhance existing ones. This will enrich our database while strengthening the community spirit. -Advanced AI and Machine Learning: We plan to integrate a machine learning model that learns from user behavior, offering more personalized and accurate suggestions over time through more complex algorithms. -Mobile Application Development: We are considering launching a mobile application version to provide users with easier access in the kitchen. -Visual Recognition: Adding a visual recognition feature that allows users to upload photos of their ingredients directly to the system is also among our long-term goals. -Shopping List Integration: We may work on automatically adding missing ingredients for suggested recipes to a shopping list and even integrating with popular grocery store applications. We aim to continuously improve our project to offer our users a richer and more convenient experience in the kitchen.
Built With
- context
- css
- html
- javascript
- openrouter
- react
- supabase
- typescript
- vite
Log in or sign up for Devpost to join the conversation.