Inspiration
At time when guest arrives like my friends or any small party, I get an opportunity to cook, though I love cooking, but I kept running into the same friction:
Test Flight LINK: https://testflight.apple.com/join/QvMpSagc
- I’d watch a YouTube/TikTok/Instagram recipe and then waste time rewinding, pausing, and rewriting steps.
- I’d open my fridge and think, “I have something… but what can I actually make?”
- Meal planning felt like a separate chore that never connected to what I was already watching or what I already had.
So I built Food Vibe which is an AI cooking companion that converts short-form food content into structured recipes, helps you use up ingredients, generates goal-based meal plans you can save and add to your calendar and help you shop your groceries with one click with quick delivery app links.
What I built
Food Vibe supports multiple user flows:
- Reel-to-Recipe: paste a YouTube/TikTok/Instagram link → get a clean recipe (ingredients, steps, prep/cook time, nutirtional goal) + 1-click ingredient shopping from quick delivery app
- Discovery Hub: browse trending YouTube videos and convert them into recipes
- Scan Ingredients: scan a fridge/shelf image → extract ingredients → generate recipes
- Use It Up: enter leftover ingredients → generate recipes around them
- Mood-based recipes: comfort / healthy / adventure / quick
- Meal plan generation: choose a goal → plan meals → add to calendar
- Save to Kitchen + Shopping checklist
- Communities + Subscription (RevenueCat integration)
1-click Shopping Integrations (already done):
- Users can purchase ingredients instantly via quick delivery apps like Zepto, Blinkit, and BigBasket — directly from the recipe page.
How I built it (Architecture + Workflow)
1) Video discovery + ingestion
- YouTube API: fetch trending videos, search results, and video metadata (title, channel, thumbnails, etc.)
- I store video IDs + metadata so the app can show fast lists and avoid re-fetching.
2) Video → text (transcript)
- Supadata API: convert video content into text (transcript/summary-style extraction depending on the source)
- This transcript becomes the raw input for recipe extraction.
3) Recipe extraction + transformation (LLM layer)
- Gemini Transform: turns messy transcript text into a structured recipe:
- title, servings, prep time, cook time
- ingredients (with quantities + units)
- step-by-step instructions
- tips / substitutions
- title, servings, prep time, cook time
- I also use a “transform” step to adapt recipes based on:
- ingredients you have at home
- ingredients to avoid
- time constraints (quick mode)
4) Image → ingredients (vision)
- Gemini OCR / Vision: scan fridge/shelf images and extract ingredient candidates.
- Then the extracted items feed into Use It Up and recipe generation.
5) Shopping + checkout handoff
- From the final ingredient list, Food Vibe maps items to supported quick-commerce providers.
- Users can tap “Buy Ingredients” and complete purchase via Zepto / Blinkit / BigBasket (one-click handoff).
6) Personalization + saving
- Login + onboarding preferences (avoid ingredients, meal types, quick recipes)
- Save recipes to My Kitchen
- Generate meal plans and push into a calendar flow
- Shopping list with check-off UX
What I learned
- How to design multi-step AI pipelines (input → extraction → normalization → output)
- Prompting patterns for structured outputs (stable formatting, JSON-like recipe objects)
- Handling API constraints (rate limits, quotas, retries, caching)
- Building UX for AI features so users feel in control (edit/transform/save)
- Quality improvements using validation:
- ingredient parsing + deduping
- step completeness checks
- fallback logic when transcript/OCR quality is poor
Setting up subscriptions for the Apple App Store
- Creating subscription products in App Store Connect
- Understanding subscription groups, pricing, localization, and review requirements
Running TestFlight properly
- Uploading builds, managing internal/external testers
- Handling review steps for external testing and using feedback to iterate
Releasing production builds using VibeCode app
- Generating iOS builds, managing credentials/profiles
- Debugging build pipelines and learning how release workflows differ from dev builds
RevenueCat integration (Products, Offerings, Entitlements)
- Creating products in Apple (subscriptions / IAP) and syncing them into RevenueCat
- Setting up Offerings and mapping them to correct products
- Creating and attaching Entitlements so the app can unlock premium features reliably
- Generating and using the In-App Purchase API Key in App Store Connect to sync products automatically
Connecting the full subscription flow
- Paywall logic, restoring purchases, and validating premium access
- Making sure the UI and access control match what RevenueCat returns (entitlement active/inactive)
Challenges I faced
Subscriptions & release process complexity
- The entire Apple + RevenueCat subscription setup took significant time:
- Product setup in App Store Connect
- API key setup + syncing products
- Offerings + entitlements mapping
- Ensuring premium unlock behaves correctly across installs / restore purchases
Fastlane / iOS build errors
- Handling build failures during iOS pipelines (pods, signing, build scripts)
- Debugging packaging and deployment issues that block uploads to TestFlight/App Store
Deep linking / Share Sheet integration
- Implementing a feature where users can share a video link (YouTube/TikTok/Instagram) and the app opens directly from the Share button into the Reel-to-Recipe flow
- Managing edge cases like different share formats, app cold-start, and routing users to the correct screen
End-to-end reliability
- Reducing friction in multi-step flows (video → transcript → recipe → transform → save → shop)
- Handling API latency and failures gracefully without breaking the user experience
Transcript quality variance: some videos have fast speech, slang, missing details, or background noise → recipe extraction can become incomplete.
OCR noise: fridge images can be blurry, angled, or low light → ingredient extraction needs cleanup + deduping.
Hallucinations / missing quantities: videos often skip exact measurements → I added logic to label estimates and keep outputs realistic.
Latency: chaining APIs (YouTube → transcript → Gemini → post-processing) can slow down UX → caching and async flows help.
Normalization: mapping “tomatoes / tomato / cherry tomatoes” and unit handling (grams, cups, tbsp) into consistent ingredient objects.
Edge cases: long videos, non-recipe content, multi-dish videos, or creators who don’t list ingredients clearly.
Product + business integration: subscription gating and keeping the free experience useful while still driving upgrades (RevenueCat).
What’s next
- Better ingredient detection (packaging + produce recognition) and smarter dedupe
- More accurate nutrition/goal planning and macro-aware meal plans
- Creator attribution + “source-of-truth” linking for transparency
- Faster pipeline with partial rendering (show recipe skeleton first, then enrich)
Built With
- expo.io
- geminiapi
- supadataapi
- testflight
- vibecodeapp
- youtubev3api
Log in or sign up for Devpost to join the conversation.