Inspiration
As first-year university students living in residence, we've been thriving off of our campus meal plan. But next year, reality will strike and we'll find ourselves needing to serve our own plates. Through dreadful thoughts of the future, we realized that the hardest part of cooking is deciding what to serve with the ingredients on hand, so we wanted to create a tool that simplifies the process in a quick and efficient manner!
What it does
ChefSSS is an AI-powered culinary assistant designed to make cooking and decisions easier. Users can manage a digital version of their fridge by adding specific ingredients with quantities. With one tap, the app uses generative AI to analyze the available inventory and suggest three recipe options. Users can then view detailed cooking instructions or bookmark recipes to their personal Recipe Book for future use.
How we built it
- Frontend: Built with React Native and Expo Router.
- AI Integration: Powered by Gemini 2.0 Flash, using custom prompts to return structured JSON data for recipes, ingredients, and instructions.
- State Management: Developed custom hooks to handle complex logic for inventory and bookmarks.
- Storage: Implemented AsyncStorage to ensure that a user’s fridge inventory and saved recipes persist even after the app is closed.
- UI/UX: Designed with a cohesive Pastel Pink theme and a centralized style system for a calming and modern aesthetic that puts the mind at ease.
Challenges we ran into
- Model Integration: We initially faced 404 Not Found errors when connecting to the Gemini API, requiring us to debug specific model versions and endpoint configurations.
- Persistent State: Handling navigation parameters between screens while maintaining a consistent list of ingredients led to bugs where items would "override" each other; we solved this by implementing functional state updates and unique timestamps.
- Data Parsing: Ensuring the AI always returned valid JSON without markdown formatting.
Accomplishments that we're proud of
- Reliable Persistence: We successfully implemented a system where the fridge actually "remembers" its contents across sessions.
- The Loading Experience: We added a dynamic Loading Screen that features cooking-themed animations.
- Visual Consistency: Successfully transitioned the entire app from basic default styles to a centralized pastel theme.
What we learned
- Full-Stack Mobile Development: We gained hands-on experience with the entire lifecycle of an app, from API services to local storage persistence.
- AI Prompting: We learned how to "talk" to LLMs to get exactly the structured data we need for a user interface.
- TypeScript Mastery: We learned the importance of strict type-checking to catch bugs in ingredient units and recipe objects before they reached the user.
What's next for ChefSSS
- Social Sharing: Allowing students to share their recipes with friends.
- Grocery Integration: Automatically creating shopping lists for the "missing" ingredients needed for a specific recipe.
- Improved Recipes: Include extra elements such as portion size, time and a nice image of the expected product
Built With
- asyncstorage
- expo.io
- gemini
- react-native
- typescript
- vscode
Log in or sign up for Devpost to join the conversation.