Inspiration
As college students learning to cook for ourselves, we often face the challenge of creating new recipes with limited ingredients. Shopping for new items or searching endlessly online can be overwhelming. That's why we created Crecipe—born from our passion for cooking and a desire to make meal preparation enjoyable rather than a chore. With Crecipe, we aim to inspire creativity in the kitchen, helping users transform what they have into delicious meals!
What it does
Crecipe is a powerful iOS app designed to simplify meal planning. Users can scan their fridge or pantry, and the app will automatically recognize ingredients. Additionally, they can manually add ingredients, select meal difficulty, accommodate dietary restrictions, and choose from various preferred cuisines. Crecipe then generates personalized recipes and even lets users save their favorites for easy access, making cooking effortless and enjoyable!
How we built it
Crecipe is an iOS app developed with SwiftUI, utilizing Google's Generative AI SDK for image recognition to scan and identify ingredients from user-uploaded photos and to dynamically generate recipe suggestions based on user-defined parameters, such as meal difficulty, dietary restrictions, and preferred cuisines. The app employs RevenueCat SDK for handling in-app purchases, including subscription-based models that control daily image scan limits. Persistent data storage for ingredients and favorite recipes is managed using User Defaults, ensuring efficient state management across devices. The UI is designed for seamless ingredient input, both through automated recognition and manual entry.
Challenges we ran into
During the development of Crecipe, several challenges arose, including optimizing image recognition accuracy to reliably identify ingredients in various conditions and refining the integration of Google's Generative AI SDK to generate recipes that accurately matched user preferences. Performance optimization was crucial to prevent UI lag, especially when handling real-time image processing and recipe generation in SwiftUI. Managing in-app purchases and subscriptions with the RevenueCat SDK required addressing edge cases like failed transactions and proper resetting of daily limits.
Accomplishments that we're proud of
We are proud of several key accomplishments during the development of Crecipe. We successfully learned to leverage various technologies, from integrating machine learning models for image recognition to utilizing APIs like Google’s Generative AI SDK. Our collaboration throughout the project was instrumental in overcoming complex challenges, and we gained valuable insights into training models for specific use cases. Additionally, we deepened our understanding of different platforms, from SwiftUI for building the interface to managing data persistence and in-app purchases across iOS devices. These accomplishments significantly enhanced both our technical skills and project execution.
What we learned
Throughout the development of Crecipe, we learned valuable lessons in various technical areas. We gained expertise in machine learning by fine-tuning image recognition models and integrating APIs like Google’s Generative AI SDK to generate custom recipes. Our SwiftUI development skills improved as we optimized performance and built a dynamic, user-friendly interface. We also learned to manage in-app purchases and subscriptions using RevenueCat, handle data persistence, and ensure seamless synchronization across devices. Additionally, the project reinforced the importance of collaboration and problem-solving, helping us tackle complex challenges efficiently.
What's next for Crecipe
We plan to continue developing and testing Crecipe, with the goal of refining its features and expanding its reach to help more users worldwide. By improving performance, adding new functionality, and addressing feedback, we aim to make Crecipe a valuable tool for meal planning and ingredient management for an even broader audience!
Built With
- google-generative-ai
- revenuecat
- swift
- swiftui
Log in or sign up for Devpost to join the conversation.