Inspiration
As college students, we find ourselves wanting to cook in our homes to save money or even for fun. However, since we usually only cook for ourselves it is hard to decide what to make or know what ingredients we want to buy, especially when grocery stores often sell things in large portions. At the end of the day, we don't want to buy too much of something and have it go bad. Our solution to this is Grobber. We wanted to create an app that would help motivate us to cook at home by providing easy-to-access recipes that use up all the ingredients we already have. Grobber makes shopping easier by telling us what ingredients are used the most so there can be less waste in the long run. Food waste is a big problem in the world and we should do anything we can to prevent wasting food and make an effort to choose versatile ingredients.
What it does
Grobber is a mobile app that provides users with an all-in-one platform of tools at their disposal. From daily cooking tips to grocery lists, Grobber offers a wide variety of resources.
- Recipe Recommendation
- Grobber takes ingredient inputs and outputs a list of recipes that can be made using those ingredients.
- Cooking tips and tricks
- Daily cooking tips are displayed for users to explore and learn more, whether it is about cooking on a budget or how to use various types of flour.
- Inspiration Gallery
- The Inspiration Gallery displays content posted by others for when users are looking for inspiration or just craving some food.
- Grocery List
- Grocery Lists are for users to populate and organize, keeping all their cooking related tasks in one place. The app will allow users to add all necessary ingredients from their desired recipe, and lists can be sorted by recipe or store location.
- Essential Ingredients
- Essential Ingredients uses recipe data to inform users of necessary ingredients that they should have at home by sharing the top 8 popular ingredients from different cuisines. By providing this information, users can choose more versatile ingredients for their next purchase and inspire them to try new cuisines while using up their ingredients. For cooks that need new ideas, essential ingredients gives users a quick "go-to" list of ingredients for any cuisine in mind.
How we built it
Grobber's prototype is designed using Adobe XD. A beta plug-in is then used to convert Adobe XD components into Flutter widgets. Generated widget code segments are then pieced together using Visual Studio Code (a Flutter IDE). A virtual emulator powered by Xcode is then used to debug during development. After compiling the appearance widgets, comes implementing interactions, such as going from page to page and searching. After all widgets are tested, comes developing app functions. To enable recipe browsing, Tasty's API hosted by RapidAPI is implemented and through data parsing with functions, Grobber can provide access to more than 300k recipe entries.
Data Visualization graphs for "Top 8 Ingredients" in specific cuisines are then generated using Tableau. Using a large dataset of various recipes, data is first cleaned using various regex and pandas functions in a Jupyter Notebook. Afterwards, recipe ingredient lists are filtered by cuisine tag and then aggregated by ingredient. The resulting graphs display the top 8 ingredients, and the corresponding percentage of how often it showed up in recipes of a certain cuisine.
Challenges we ran into
Knowing where to start was one of the hardest obstacles for us. Since this is our first exposure to app development, we did not know what was possible and overestimated our limits. Hence, we did not leave much time for development and spent the majority of the competition time drafting our idea and researching what is doable.
Due to the fact that Flutter is written in a language we both do not understand, we relied on tutorials to guide us through the development stage. However, tutorials are only reliable up to a certain degree. Due to our lack of knowledge and experience with Flutter, we completely underestimated the complexity of implementing APIs. Without a clue of what we were doing, and time quickly running out, we decided it would be best for us to shift our focus towards something we were more comfortable with.
Another problem we ran into was during data cleaning. Our ingredient and recipe tag data were all stored in a giant string, so it took more time than expected to clean it all up.
As a result, we weren't able to accomplish some of our initial goals, some of which included building out a working prototype on Flutter, adding more pages and details on AdobeXD, implementing an interactive geospatial map for top ingredients of each cuisine, and training an ML model to output recommended cuisines based on ingredients.
Accomplishments that we're proud of
Entering the competition, neither of us had experience with mobile app development. Through extensive research, we were able to produce an app prototype to the best of our abilities. We are proud of ourselves for taking on a challenge and pushing ourselves out of our comfort zone. Even after many unsuccessful attempts, we are proud to say that we did not give up.
What we learned
Diving into the app development world, we were introduced to Flutter, powered by Dart. Throughout the course of this competition, we learned about APIs and their capabilities.
What's next for Grobber
The next step for Grobber is to fully develop and publish for testing.
- The Potential of Grobber
- Image recognition of groceries using autoML powered by Google Cloud to determine which recipes to offer.
- User customization and personalization using ML Kit's powered by Google Cloud
- Firebase Authentication database to store user data, for authentication log-ins.
- Include socializing amongst app users to share and explore current recipes.
- Monthly/weekly challenges to encourage people to cook at home (It is more fun!)
- Training an ML model to output recommended cuisine based on a set of ingredients to help inspire users and give them ideas for their next meal (and to use up/not waste their groceries!)

Log in or sign up for Devpost to join the conversation.