Inspiration
I've always struggled with keeping track of what's in my fridge and planning meals around it. Food would go bad, I'd forget what I bought, and I'd end up ordering takeout way too often. I wanted to build something that actually helps with the day-to-day reality of cooking at home.
What it does
ChefButler is a mobile app that helps you:
- Log meals by snapping a photo - it estimates nutrition automatically
- Track your pantry so you know what you have before it expires
- Browse recipes with beautiful food images organized by cuisine
- Monitor nutrition with daily summaries and goals
How we built it
- Flutter for the mobile app - works on both Android and iOS
- Serverpod as the backend framework with PostgreSQL
- Gemini API for food image analysis and recipe suggestions The app uses a Provider-based state management pattern to keep things organized across different features.
Challenges we ran into
Getting the meal photo analysis to work reliably was tricky - lighting and angles really affect the results. I also spent a lot of time on the UI to make it feel polished without being overwhelming. Balancing feature scope was hard too - it's tempting to add everything, but I had to focus on what actually matters for daily use.
What we learned
This project taught me a lot about integrating external APIs, handling image processing on mobile, and building a cohesive design system. Most importantly, I learned that the best features are the ones that save time without adding complexity.
Built With
- android
- claude
- claudecode
- dart
- flutter
- gemini
- postgresql
- serverpod
- serverpodcloud


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