-
-
Add ingredients by using AI to scan labels
-
recipe almost completed
-
uploaded url from recipe website
-
Groceries Tab (what you need to get from the store for recipes)
-
Pantry Tab (what you have in your kitchen)
-
Finished recipe uploaded
-
Recipe Detail View
-
Recipe Tab
-
Bottom half of recipe detail view
-
Recipes with progress bars on the items you have in pantry
-
Home Tab
-
more recipe detail view
-
bottom of XP tab
-
XP badges tab
Inspiration# Inspiration
I cook from TikTok and Reels all the time, but "saving" a video is not the same as having a recipe you can actually use. Ingredients are scattered across captions, comments, and fast voiceovers, so I kept ending up with half-remembered steps and grocery chaos.
StoveReel started as a simple question:
What if any cooking video URL could become a clean, shoppable recipe in under a minute?
What I Built
StoveReel turns short-form cooking videos into structured meals you can cook tonight.
Core flow
- Paste or share a TikTok/Instagram link
- Extract transcript and context from the video
- Use AI to normalize the content into:
- title
- ingredients
- step-by-step instructions
- servings and metadata
- Instantly generate a grocery list and pantry-aware view
Product highlights
- URL import pipeline with async processing states
- Recipe card UI designed for mobile readability
- Grocery list generation from parsed ingredients
- Pantry features for "ready to cook" signals
- Share Extension so users can import directly from other apps
- Pro paywall foundations with RevenueCat integration
How It Works (Tech Stack)
- iOS App: SwiftUI
- Backend: Supabase (Postgres + Edge Functions + Auth + RLS)
- Video/Transcript extraction: Apify integration
- Recipe structuring / normalization: OpenAI models
- Monetization: RevenueCat subscriptions and paywall flow
I focused on a modular architecture so each stage of the import pipeline can be debugged and improved independently (ingest -> parse -> normalize -> persist -> render).
What I Learned
- Building AI features is mostly about pipeline reliability, not just model prompts.
- User trust comes from predictable UX: clear loading states, retries, and explicit failures.
- Share extensions are powerful, but require careful handling of auth/session transfer.
- Subscription UX is as much product design as implementation; timing and clarity matter.
Challenges I Faced
1) Messy input quality
Video transcripts are inconsistent. Slang, missing measurements, and implied steps made structured output hard.
Fix: Added normalization logic and defensive parsing around ingredient and instruction extraction.
2) Async orchestration
Importing can involve multiple network services and variable latency.
Fix: Implemented queue-oriented processing states and better error boundaries per stage.
3) Data integrity and security
User-specific data and generated content needed strict access control.
Fix: Enabled row-level security and scoped all access by authenticated user.
4) Delight vs. complexity
It is easy for AI apps to feel magical in demos but brittle in reality.
Fix: Prioritized graceful degradation and transparent UI feedback over hidden "magic."
Why I'm Proud of This
StoveReel solves a real, daily pain point with a workflow that feels natural:
see recipe -> share URL -> get meal plan and groceries.
It bridges creator content and real-world cooking in a way that is practical, fast, and genuinely habit-forming. This project pushed me to blend product thinking, backend architecture, and AI reliability into one cohesive user experience.
What's Next
- Improve ingredient normalization for edge cases (regional terms, optional ingredients)
- Add meal planning and batch grocery optimization
- Expand pantry intelligence (substitutions + "cook now" recommendations)
- Ship full subscription unlock loop and production analytics
If food content is everywhere, StoveReel is the layer that turns it into something actionable.
Built With
- apify-(video/transcript-extraction)
- async-job/queue-style-processing-for-imports
- edge-functions
- hosted-postgres)
- languages:-swift
- revenuecat-api/sdk-(subscriptions/paywall)
- revenuecat-database:-postgresql-(via-supabase)-with-row-level-security-(rls)-apis/integrations:-openai-api-(recipe-structuring/normalization)
- revenuecat-ios-sdk-(purchases-ios)-platforms:-ios
- sql-frameworks/libraries:-swiftui
- supabase-client-apis-other-technologies:-share-extension-on-ios
- supabase-edge-functions-(deno-runtime)-cloud-services:-supabase-(auth
- typescript
Log in or sign up for Devpost to join the conversation.