Inspiration

We're Nicolas and Gabrielle — a indie iOS developer and an osteopath, certified nutritionist, married with two young kids. Gabrielle is pescatarian, and we suspect a dairy allergy in one of our children — so reading ingredient labels and double-checking recipes is part of our daily life. Every week, we'd find great recipes on Instagram or family blogs, then lose them in screenshots, struggle to adjust portions for a toddler and a baby, and triple-check every ingredient. We weren't looking for more recipes — we needed a way to actually use the ones we already loved. When Eitan Bernath said "from saved recipe to dinner made," it clicked: that's exactly the app we wished existed. So we built it.

What it does

Ratatouille turns any recipe — from a URL, a social media post, or even a handwritten note — into a clean, structured recipe in seconds using AI. But the real magic is what happens next:

  • Family-aware portions: each family member has a profile with age and sex. Quantities scale automatically for the whole table — no mental math.
  • Allergen & diet alerts: the app cross-references every ingredient against your family's allergens and dietary restrictions (based on the 14 EU mandatory allergens, which also cover US requirements), flags conflicts instantly, and suggests safe alternatives — all on-device with Apple Intelligence.
  • One-tap grocery list: scaled ingredients go straight to Apple Reminders, shared with your partner via Family Sharing.
  • Monetization with RevenueCat: 3 free AI imports and 2 family members; Ratatouille Plus unlocks unlimited imports and members via monthly or annual subscriptions.

From saved recipe to dinner made.

How we built it

  • SwiftUI (iOS 26+) with Liquid Glass design.
  • Firebase AI Logic (Gemini 2.5 Flash) for recipe extraction: parses HTML, extracts structured data, translates to the user's language, and normalizes units — all from a single prompt.
  • Apple Intelligence (FoundationModels) for on-device allergen analysis with structured output via @Generable, backed by a local database of 975+ pre-mapped ingredients for instant lookups.
  • RevenueCat for subscription management, entitlement gating, and paywall presentation.
  • EventKit for native Reminders integration, CoreMotion for shake-to-random-recipe, VisionKit for document scanning.
  • SwiftData for persistence, with a Share Extension for importing recipes directly from social apps.

Challenges we ran into

  • AI extraction reliability: recipe websites are wildly inconsistent. We iterated heavily on prompt engineering — handling schema.org JSON-LD, Open Graph metadata, and raw HTML fallbacks — to get consistent structured output across languages and formats.
  • On-device AI constraints: Apple Intelligence isn't available on every device. We built a two-tier system: a local database of 975+ ingredients for instant lookups, with Apple Intelligence as a second pass for unknown ingredients. The app degrades gracefully.
  • Portion scaling edge cases: scaling isn't just multiplication. We had to handle unit conversions, fractional quantities, and ingredients like "a pinch" or "to taste" that resist automation.
  • Family data sensitivity: allergen profiles are health data. We kept everything on-device — no server, no analytics on family composition. Privacy was a constraint we embraced, not a tradeoff.

Accomplishments that we're proud of

  • An app we always wanted to build. Ratatouille was born from a real family need — managing recipes, portions, and allergens with two young kids. The RevenueCat Shipyard challenge gave us the push to finally make it happen.
  • It already solves our problem. The app isn't something we built for a contest and shelved. We plan to use it every week, and it's designed around the workflow we actually need.
  • From URL to grocery list: the critical path is fast and frictionless — import, adapt, cook.
  • 975+ ingredient database researched and built by hand, covering French and English ingredients across 14 allergen categories.
  • Seamless RevenueCat integration: clean paywall, real-time entitlement checks, and a free tier to prove value before asking users to pay.

What we learned

  • Prompt engineering is product design. The quality of AI extraction depends entirely on how you frame the task. We spent more time on prompts than on most UI screens.
  • RevenueCat made monetization simple. Entitlement gating, subscription management, restore flows — it handled the complexity so we could focus on the product.
  • On-device AI is powerful but requires fallbacks. Apple Intelligence gives us privacy and speed, but availability varies. A hybrid local + AI approach is essential.
  • Building for your own family is the best user research. Every feature was validated at our dinner table before it shipped.

What's next for Ratatouille: Recipe Organizer

  • More robust allergen detection: improve coverage for compound ingredients, regional naming variations, and edge cases our database doesn't yet handle. Make alternative suggestions more contextual (substitution depends on the recipe, not just the allergen).
  • Macronutrient tracking: calories, protein, carbs, and fat estimated per ingredient, adapted to each family member's portion.
  • Weekly meal planning: drag-and-drop meal calendar with automatic grocery list generation for the whole week.

Built With

Share this project:

Updates