MiseSnag
Inspiration
Recipe videos are easy to save and easy to forget. The useful information is trapped across captions, speech, and on-screen text, so cooking later usually means replaying the video, pausing repeatedly, and manually rebuilding the ingredient list.
MiseSnag closes the gap between discovering a recipe and actually cooking it.
What it does
Paste or share a public TikTok, Instagram, or YouTube recipe link. MiseSnag extracts the ingredients, quantities, and ordered steps, saves the result to an organized recipe library, and lets you add the ingredients to a practical shopping list.
Key features include:
- Structured ingredients, quantities, preparation times, servings, and steps
- Editable recipes and ingredient scaling when servings change
- A combined shopping list for multiple recipes
- Offline-first recipe and shopping-list access
- Local cooking reminders
- Community recipe discovery, saving, and ratings
- English, Brazilian Portuguese, and Spanish
- Three free recipe extractions every week, without a card
The first public iOS version launched on August 17, 2026, followed by Android on August 28, 2026.
How we built it
The mobile app uses React Native, Expo, Expo Router, TypeScript, React Query, Zustand, and SQLite-backed local storage. The API is built with Fastify and TypeScript, with PostgreSQL for persistent data, transactional credit accounting, and durable queued video jobs.
The media pipeline uses provider fallback chains for TikTok, Instagram, and YouTube. FFmpeg and ffprobe validate media and prepare audio or bounded frame samples when necessary.
AI is part of the core product workflow:
- MiseSnag first checks the video's caption and description for a complete recipe.
- If that is not enough, it temporarily processes the media, extracts the audio, transcribes it, and converts the transcript into typed recipe data.
- When the creator explicitly says the recipe is written in the video, the backend samples bounded contact sheets and uses vision to read on-screen ingredients and quantities.
- The result becomes editable ingredients, units, steps, timings, servings, and nutrition estimates.
RevenueCat powers MiseSnag Pro subscriptions, entitlements, weekly allowances, and webhook synchronization. The production stack also uses Docker, Fly.io, PostHog, and Sentry.
Quality and evaluation
Recipe extraction is probabilistic, so a successful API response is not enough. MiseSnag has a versioned evaluation suite with deterministic graders for missing or invented ingredients, quantities and units, step coverage and order, broken ingredient references, language leakage, and invalid structure.
Hard gates prevent a good average score from hiding a critical failure. Prompt or model changes can be compared against the same recipe cases before they reach users.
Challenges
Recipe videos are inconsistent. Some place the full recipe in the caption, others only explain it in speech, and others show important quantities briefly on screen. Platform access can also fail because of private, deleted, login-gated, or geographically restricted videos.
The processing pipeline therefore needs bounded fallbacks, idempotent jobs, retry-safe credit handling, and clear failure states without storing or rehosting the creator's video.
What we learned
The difficult part is not asking a model to generate JSON. It is building a reliable product around messy source material: deciding which evidence to trust, preventing invented ingredients, preserving the cooking sequence, managing media-provider failures, and measuring quality over time.
We also learned that the workflow after extraction matters as much as the extraction itself. Recipes need to be editable, scalable, available later, and connected directly to a useful grocery list.
What's next
Next we are improving the evaluation dataset, expanding provider reliability, and exploring premium collection import so a user can turn an entire saved recipe collection into an organized cooking library.
MiseSnag keeps the original source link attached to every recipe and does not rehost the creator's video.
Built With
- docker
- expo.io
- fastify
- fly.io
- openai
- postgresql
- posthog
- react-native
- revenuecat
- typescript
Log in or sign up for Devpost to join the conversation.