Chef Butler

🍳 Tagline

"Your AI-powered kitchen companion that turns recipe inspiration into home-cooked reality"


💡 Inspiration

We've all been there – scrolling through Instagram Reels, TikTok, or YouTube, bookmarking dozens of amazing recipes with the best intentions. "I'll definitely make this!" we tell ourselves. But weeks later, those saved recipes remain just that – saved, not cooked.

The problem isn't lack of inspiration; it's the friction between discovery and execution:

  • The Transcript Gap: Video recipes don't translate easily to your kitchen
  • The Grocery Burden: Manually writing shopping lists from multiple recipes is tedious
  • The Pantry Puzzle: "What can I actually cook with what I have?" requires mental gymnastics
  • The Execution Anxiety: Following a recipe while cooking means constantly pausing videos or scrolling through text

When a celebrity chef friend shared his frustration about this very problem – watching his audience save his recipes but rarely cooking them – we knew we had to build a solution. Chef Butler was born from this real pain point: bridging the gap between recipe inspiration and the satisfaction of a home-cooked meal.


🎯 What it does

Chef Butler is your personal AI-powered kitchen assistant that automates the entire cooking workflow:

🔍 Universal Recipe Import

  • Paste any link from YouTube, TikTok, Instagram Reels
  • Snap photos of cookbook pages
  • Manual entry for family recipes
  • Our AI (powered by Gemini) automatically extracts ingredients, quantities, steps, timings, and dietary information

🧠 Intelligent Pantry Management

  • Track what you have at home
  • Get expiry date reminders
  • See at-a-glance what's running low

💡 Smart Recipe Discovery

Ask "What can I cook now?" and get:

  • ✅ Recipes you can make with 100% of ingredients on hand
  • ⚠️ Recipes missing just 1-2 ingredients (with substitution suggestions)
  • AI-powered ingredient alternatives when you're short on something

🛒 Automated Grocery Lists

  • Select multiple recipes
  • Generate one merged shopping list
  • Auto-removes items already in your pantry
  • AI-sorts by grocery store aisle
  • Check off items as you shop

👨‍🍳 Guided Cooking Mode

  • Step-by-step walkthrough with large, readable text
  • Built-in timers for each step
  • Screen stays awake (no more washing hands to tap your phone!)
  • Get AI-powered cooking tips at any step

🗂️ Smart Organization

  • Create custom collections ("Quick Weeknight Dinners", "Impress Guests", etc.)
  • Tag recipes by dietary preferences
  • Filter by time, difficulty, cuisine

🛠️ How we built it

Chef Butler showcases the full power of the Flutter + Serverpod 3 stack:

Backend Architecture (Serverpod 3)

📦 Serverpod Backend
├── 🗄️ PostgreSQL Database (10 interconnected tables)
├── 🔌 RESTful Endpoints (Recipe, Pantry, Grocery, Discovery, Cooking Session)
├── 🤖 AI Service Layer
│   ├── Gemini Vision API (image-to-recipe extraction)
│   ├── Gemini Pro (transcript parsing, suggestions, cooking tips)
│   └── Smart substitution engine
├── 🎥 Video Transcript Services
│   ├── SocialKit API (primary)
│   ├── Supadata API (fallback)
│   └── Custom pipeline (future-ready)
└── 🔐 Serverpod Auth (email/password)

Frontend Architecture (Flutter)

📱 Flutter App
├── 🎨 Material 3 Design System
├── 🔄 Riverpod State Management (session-cached providers)
├── 🧭 GoRouter Navigation
├── 🎯 Feature-based architecture (8 main features)
└── 📦 Key packages:
    ├── serverpod_flutter (type-safe client)
    ├── image_picker (cookbook scanning)
    ├── wakelock_plus (cooking mode)
    └── cached_network_image (performance)

Key Technical Achievements

  1. Modular Platform Detection: Automatically identifies YouTube, TikTok, Instagram links and routes to appropriate parsers

  2. Resilient AI Pipeline:

    • Fallback logic across multiple transcript APIs
    • Structured JSON extraction from Gemini with validation
    • Graceful error handling with user-friendly messages
  3. Smart Ingredient Matching:

    • Fuzzy matching algorithm for pantry ↔ recipe comparison
    • Handles quantity conversions (cups ↔ ml, oz ↔ grams)
    • AI-powered "missing ingredient" categorization
  4. Real-time Sync Without Offline Complexity:

    • Riverpod's built-in caching eliminates redundant API calls
    • Online-first architecture keeps data fresh across devices
    • Session state preservation for smooth UX
  5. Type-Safe End-to-End:

    • Serverpod generates Dart models from YAML definitions
    • No JSON parsing errors – compile-time safety across client/server
    • Strongly typed API contracts

Development Tools Used

  • serverpod_admin_dashboard: Database inspection and debugging
  • serverpod_swagger: Interactive API documentation
  • Riverpod DevTools: State debugging
  • Hot Reload: Rapid iteration on UI

🚧 Challenges we ran into

1. The AI Extraction Accuracy Problem

Challenge: Early versions of our Gemini prompts produced inconsistent recipe parsing – sometimes mixing ingredients from video ads, missing quantities, or inventing steps.

Solution: We engineered highly specific prompts with JSON schema enforcement, added validation layers, and implemented a review step where users can edit AI-extracted data before saving. We also trained the model with examples of edge cases (vague measurements like "a pinch", ingredient substitutions mentioned in videos).

2. Platform-Specific URL Parsing

Challenge: YouTube has 6+ URL formats (watch?v=, youtu.be/, embed/, shorts/), TikTok uses different mobile/web URLs, Instagram has posts/reels/stories.

Solution: Built a robust PlatformDetector service with regex patterns for all variations and unit tests covering 40+ URL formats. The modular design means adding new platforms (Pinterest, blogs) requires just a new parser class.

3. The Grocery List Merge Logic

Challenge: Combining "2 cups flour" from Recipe A with "300g flour" from Recipe B requires unit conversion, locale handling (US vs metric), and fuzzy ingredient name matching ("chicken breast" = "boneless chicken breast"?).

Solution: We leverage Gemini's AI to intelligently merge ingredients, handling conversions and name variations. For cases where AI is uncertain, we show both items and let users manually merge.

4. Cooking Mode UX on Android

Challenge: Keeping the screen awake, showing timers without blocking the UI, and making buttons large enough for messy hands.

Solution: wakelock_plus package for screen management, isolate-based timers that run in background, and extensive user testing to find the right button sizes (72dp minimum touch targets).

5. Serverpod Binary Serialization Learning Curve

Challenge: Coming from REST/JSON backgrounds, understanding Serverpod's binary protocol and generated code took adjustment.

Solution: Deep dive into Serverpod 3 documentation, leveraging the Discord community, and embracing the type-safety benefits. Once we understood the paradigm, development velocity increased dramatically – no more JSON parsing bugs!


🏆 Accomplishments that we're proud of

Technical Excellence

Full-stack Serverpod 3 implementation with 10-table relational database
Multi-AI integration (Gemini Vision + Pro, multiple transcript APIs)
Production-ready architecture with proper error handling, fallbacks, and testing
Type-safe end-to-end – zero runtime JSON errors
Clean separation of concerns – modular, testable, maintainable

User Experience

Polished Material 3 UI that feels native and delightful
Thoughtful micro-interactions (smooth animations, loading states, empty states)
Accessibility-first (large touch targets, high contrast, readable fonts)
Real problem solving – not just a tech demo, but genuinely useful

Innovation

AI cookbook scanning – extract recipes from images with vision AI
Smart pantry discovery – "What can I cook now?" with missing ingredient suggestions
Automated aisle sorting – AI organizes grocery lists by store layout
Contextual cooking tips – step-specific guidance from AI

Process

Hackathon delivery – went from idea to fully functional app in the timeline
Professional codebase – organized for future scaling, subscription features, and team collaboration
Real user validation – built based on actual pain points from a celebrity chef


📚 What we learned

About Serverpod 3

  • The power of binary serialization over JSON – faster, type-safe, less error-prone
  • How YAML model definitions eliminate boilerplate and ensure database/API consistency
  • The elegance of generated Dart clients – feels like calling local functions, not APIs
  • Serverpod's migration system is robust and handles schema changes gracefully
  • The admin dashboard is invaluable for debugging during development

About AI Integration

  • Prompt engineering is critical – small wording changes drastically affect AI output quality
  • Structured outputs (JSON schemas) are essential for production AI apps
  • Fallback strategies are non-negotiable when depending on external AI services
  • User-in-the-loop (letting users review/edit AI extractions) builds trust and catches errors

About Flutter + Riverpod

  • Riverpod's code generation (@riverpod) eliminates boilerplate
  • Session-level caching is often enough; offline-first adds complexity for diminishing returns in some apps
  • Feature-based architecture scales better than layer-based for Flutter apps
  • Material 3 provides excellent components out-of-the-box, but customization is key for polish

About Product Development

  • Real user pain points make for compelling features
  • Solving one problem deeply beats building many shallow features
  • The gap between saving and doing is a universal problem (recipes, articles, courses)
  • Automation delights users – grocery list generation got the biggest "wow" reactions

🚀 What's next for Chef Butler

Phase 1: Community & Content (Next 3 months)

  • Creator Profiles: Let chefs/influencers create official channels in the app
  • Social Sharing: Share collections, reviews, cook photos
  • Publisher Partnerships: Import cookbooks from publishers (already in talks with two)
  • Recipe Comments: Community tips and variations

Phase 2: Smarter Automation (Months 4-6)

  • Grocery Delivery Integration: One-tap send to Instacart/Amazon Fresh
  • Receipt Scanning: Auto-update pantry from grocery receipts
  • Barcode Scanner: Quickly add packaged items to pantry
  • Meal Planning Calendar: Week-view with drag-drop recipes
  • Budget Mode: Optimize grocery lists by price, suggest cheaper substitutes

Phase 3: Intelligence Layer (Months 7-12)

  • Nutrition Tracking: Macros, calories, dietary goal alignment
  • Personalized Recommendations: Learn your tastes, suggest new recipes
  • Voice Control: Hands-free cooking mode ("Next step", "Set timer")
  • Smart Home Integration: Preheat oven via Google Home, create shopping lists in Alexa

Phase 4: Business Model (Year 2)

  • Freemium Subscription (RevenueCat integration already architected):
    • Free: 20 recipes, basic features
    • Premium ($5/mo): Unlimited recipes, AI features, meal planning
    • Pro ($10/mo): Family accounts, advanced nutrition, priority support
  • B2B Licensing: White-label for cooking influencers, meal kit companies
  • Affiliate Revenue: Grocery delivery commissions, cookware recommendations

Long-term Vision

Chef Butler becomes the operating system for your kitchen – the bridge between recipe creators and home cooks, between inspiration and nutrition, between chaos and delicious meals.

We're not just building an app; we're building a movement to make home cooking accessible, enjoyable, and sustainable.


Test Credentials:

Use Guest login mode

Sample Recipes Included: some pre-loaded recipes across cuisines (Italian, Asian, Mexican, American) with full ingredient lists and steps – ready to explore!


👥 Team

Built with ❤️ using Flutter + Serverpod 3


🙏 Acknowledgments

  • Serverpod Team for creating an incredible Dart backend framework
  • Google Gemini for powerful AI capabilities
  • Flutter Team for the best cross-platform framework
  • The Chef who inspired this project by sharing real user pain points
  • Serverpod Discord Community for rapid support during the hackathon

Chef ButlerFrom scroll to soul food 🍳✨

Built With

Share this project:

Updates