Inspiration
Eitan Bernath's brief hit home: people save recipes constantly — from YouTube, cookbooks, screenshots, friends — but rarely actually cook them. The gap between "I saw this" and "it's on the table" is huge. We wanted to bridge that gap with AI.
What it does
Cookyard is an AI-powered cooking companion that turns recipe inspiration into dinner. It:
- Scans recipes from anywhere — take a photo of a cookbook page, paste a YouTube link (with full transcript extraction), import from a URL or PDF, or just type it in
- Manages your fridge — snap a photo and AI identifies your ingredients, scan barcodes, or type naturally ("milk, eggs, butter")
- Builds your shopping list — see what's missing from a recipe and add it to your cart with one tap. After shopping, move everything to your fridge in one tap
- Suggests what to cook — matches your fridge contents against your recipes with match percentages and smart substitutions
- AI chat that takes action — ask the AI to add items to your cart, remove things from your fridge, deduplicate ingredients, or even generate and save entirely new recipes, all from the chat
How we built it
Flutter/Dart for cross-platform mobile, Riverpod for state management, Hive for local-first storage. AI features powered by OpenAI (GPT-5-nano for text, GPT-4o-mini for vision/OCR, GPT-Image-1-mini for food photography). Barcode scanning via mobile_scanner + Open Food Facts API. YouTube transcripts via youtube-transcript.io. RevenueCat for subscription monetization ($0.99/month with 7-day free trial).
The architecture is feature-based modular — each screen (fridge, cart, recipes, ask AI) is its own module with providers, widgets, and screens. Background processing handles long tasks (recipe parsing, image generation) with real-time notification updates.
Challenges we ran into
- YouTube transcript extraction was the hardest. YouTube's anti-bot measures blocked every client-side approach (youtube_explode_dart, direct URL fetching). We solved it by integrating youtube-transcript.io's API
- AI action parsing — getting the AI to reliably output structured action tags ([ADD_TO_CART], [GENERATE_RECIPE], etc.) while keeping responses natural required careful prompt engineering
- Multi-select UX across three different screen types (fridge chips, cart chips, recipe cards) that feel consistent but respect each screen's unique interaction patterns
What we learned
Local-first architecture with AI on top is powerful — the app works instantly for browsing, searching, and matching, with AI enhancing rather than blocking the experience. The barcode scanner + Open Food Facts combination is surprisingly effective for grocery items.
What's next for Cookyard
- Meal planning calendar with auto-generated shopping lists
- Nutritional tracking and dietary preference filters
- Recipe sharing and social features for Eitan's cooking community
- Voice input for hands-free use while cooking
- Pantry auto-replenishment suggestions based on usage patterns
Built With
- cursor
- dart
- dio
- flutter
- flutter-animate
- go-router
- google-play
- hive
- mobile-scanner
- open-food-facts-api
- openai-api
- revenuecat
- riverpod
Log in or sign up for Devpost to join the conversation.