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

Share this project:

Updates