Inspiration## Inspiration

Food content creators like Eitan Bernath have massive, engaged audiences — millions of followers who actively want to cook what they see. Yet there's a fundamental disconnect: followers screenshot recipes from Stories, bookmark TikToks they'll never find again, and lose track of the dishes they actually want to make. Meanwhile, creators have no direct way to turn their recipe knowledge into recurring revenue beyond brand deals.

We built Cook The Feed to bridge that gap — a single app where a creator's audience can discover, search, save, and plan meals from a curated recipe library, with an AI assistant that actually understands cooking.

What it does

Cook The Feed is a full-featured iOS app built for Eitan Bernath's audience:

  • Smart Recipe Database — 180+ curated recipes and more to come, fully searchable by cuisine, category, dietary needs, tags, ingredients, and difficulty with ranked full-text search
  • AI Chat Assistant — A conversational cooking helper that uses tool calling to search recipes mid-conversation, fetch details, and provide personalized recommendations with tappable recipe links
  • AI Meal Planning (Pro) — An AI architect that researches the recipe database, creates new recipes when nothing matches, and builds customizable multi-day meal plans with per-meal preferences, lock/swap controls, and one-tap grocery list generation
  • Source Extracts — Save text notes, process YouTube cooking videos with AI extraction, and upload PDF cookbooks to build a personal culinary library
  • Grocery Lists — Auto-generated from recipes or meal plans, organized by grocery section, shareable
  • Dietary Safety — Automatic cross-referencing of user allergies (FDA Big 9), dietary restrictions, and disliked ingredients against every recipe with severity-ranked warnings
  • 4-Tier Subscription — Free, Starter ($7.99/mo), Plus ($17.99/mo), Pro ($39.99/mo) — managed entirely through RevenueCat

How we built it

  • React Native + Expo SDK 54 for cross-platform mobile development
  • Supabase for the entire backend — PostgreSQL database with Row Level Security, Edge Functions for serverless AI processing, and GoTrue authentication
  • RevenueCat for subscription management — SDK integration, server-side webhook handler, database-level subscription field protection, and a centralized tier configuration system where all limits, features, and pricing are controlled from a single database table (no hardcoded values)
  • AI providers for conversational chat (tool calling with recipe search), video extraction, and PDF OCR — all enforced server-side with per-tier model selection and rate limits
  • Zustand for state management with a clean hooks → store → service → database architecture

Challenges we ran into

  • Apple subscription product propagation — Getting products from "Missing Metadata" to "Ready to Submit" to actually appearing in the sandbox took longer than expected. I had to discover the exact 640x920 screenshot requirement through trial and error.
  • RLS infinite recursion — Our subscription field protection policy on the profiles table caused infinite recursion because it queried the same table it was updating. I solved this by switching to a BEFORE UPDATE trigger approach.
  • Recipe access control — Our client-side filter assumed public recipes had NULL user_id, but they were assigned to an admin account. The fix was simple: let Row Level Security handle access control instead of duplicating it in queries.
  • AI hallucinations in meal planning — The AI would generate fake recipe UUIDs during meal planning. I added UUID format validation and maybeSingle() calls, plus difficulty normalization (the AI would say "intermediate" but the DB constraint only allows easy/medium/hard).

Accomplishments that we're proud of

  • Zero hardcoded tier checks — Every feature gate, rate limit, AI model selection, and pricing value comes from a single database table. We can change any limit or enable any feature for any tier without shipping an app update.
  • Server-side AI enforcement — The client sends messages and tool definitions; the server controls which model, how many tokens, what temperature, and the system prompt. Users can't override their tier's capabilities.
  • Tool-calling meal planner — The Pro-tier meal planner runs 10-50 tool calls per generation, searching recipes with different strategies, creating new recipes when nothing matches, and outputting a structured plan with real database IDs.
  • Complete monetization pipeline — RevenueCat SDK → client-side listener → server-side webhook → database sync → feature gating → AI enforcement. The entire chain is built and functional.

What we learned

  • Database-driven configuration is worth the upfront investment — being able to adjust every parameter from Supabase without redeploying saved us countless times during development.
  • RevenueCat's SDK handles an enormous amount of complexity (receipt validation, cross-platform entitlements, subscription lifecycle) that would have taken weeks to build manually.
  • Edge Functions with zero dependencies (no npm imports, just raw fetch) deploy reliably and have fast cold starts.

What's next for Cook The Feed

  • White-label creator partnerships — Customize the app for specific food creators with their branding and recipe collections
  • Revenue sharing model — Creators earn a percentage of subscriptions driven by their audience
  • TikTok and Instagram video processing — Extend the extraction pipeline to short-form social content (infrastructure is built)
  • Android launch via Google Play with full feature parity
  • Multi-creator marketplace — A discovery platform where users subscribe to multiple creators

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for Open Coaches

Built With

Share this project:

Updates