English · Polski
Turn any YouTube cooking video into a beautiful recipe — then cook along with the video.
Paste a link, give it a minute, and get the ingredients, the steps, timers and the exact moment in the video for every step.
In Polish 🇵🇱 or English 🇬🇧.
🌐 Try it live → cookingtube.designhouse.me
- 🎬 From video to plate in about a minute. Paste a YouTube link (Shorts too). AI watches and listens to the video and writes down every ingredient and step.
▶️ Watch & cook. The video sits on top of the recipe. Every step has its timestamp, so one tap shows you exactly how the cook did it, and the step being played lights up.- 👩🍳 A cooking mode built for messy hands. One big step at a time, swipe or arrow keys, a screen that stays on, and the video clip for the current step.
- ⏱️ A real kitchen timer. Durations in the steps ("8–10 minutes", "half an hour") become one-tap timers. Name them, run several at once, snooze with +1 min, and get a chime, a vibration and a notification when time's up.
- 🛒 A shopping list that writes itself. Tick what you already have, and the rest goes to your list with one tap. Share or copy it on the way to the shop.
- 📄 Share it beautifully. A printable PDF recipe card, Instagram-ready images (post and story), and links with rich previews on Facebook, X, WhatsApp, Messenger, Telegram, Pinterest, Threads and Reddit.
- ⭐ Popular recipes from day one. Polish classics and favourite videos, prepared with the same AI pipeline and credited to their creators.
- 🌍 Polish & English. One tap switches the interface; new recipes are generated in the language you use.
- 🔒 Yours, on your device. Recipes, favourites, progress and the shopping list stay in your browser. No account needed.
- ⚖️ Fair for everyone. Everyone can make 5 new recipes a day; cached, shared and popular recipes are always free to open.
- 🎨 Designed with care. A dark kitchen art direction with 33 dish covers, 149 icons and food photography generated for this project.
![]() |
![]() |
| Printable PDF card | Shareable image (4:5 and 9:16) |
- Check the video. Gemini first checks that the video really shows one dish being cooked. Reviews, compilations and vlogs are politely declined.
- Write the recipe. A second pass writes the recipe in the chosen language as structured JSON: title, ingredients, steps, notes and a timestamp for each step.
- Keep it honest. A quantity stays only if the model can quote where the cook says it, and timestamps must be in order and inside the video. Anything uncertain is left blank rather than guessed.
- Make it delightful. The app picks a dish cover, matches each ingredient to an icon, finds timers in the steps and links every step to its moment in the video.
CookingTube needs a model that can actually watch a cooking video, and today Gemini is the one that does it end to end:
- It takes a YouTube link directly. Google's API reads a public video from its URL, so the app never downloads or re-hosts videos and stays within YouTube's rules.
- It sees and hears. Gemini follows the picture and the soundtrack together, so it catches the "add two spoons of this" that is only shown, the pinch of salt that is only said, and the order in which things really happen.
- It knows when. Because it watches the whole timeline, it can point each step to its moment in the video. That is what makes watch & cook possible.
- It answers in a strict format. Recipes come back as JSON that follows a schema, which the app validates before showing anything.
Text-only models (for example DeepSeek) cannot take video at all, and recipes built from captions miss everything that is only visible and fail on videos without subtitles. CookingTube is pinned to gemini-3.8-flash, the fast multimodal model, so every recipe is made the same way. The API key stays on the server.
npm ci
cp .env.example .env.local # add your GEMINI_API_KEY
npm run dev # http://127.0.0.1:5173| Command | What it does |
|---|---|
npm run dev |
Development server on port 5173 |
npm test |
Unit tests (pipeline, icons, timers, covers) |
npm run build |
Production build |
npm run build:cloudflare |
Builds the Cloudflare Worker |
npx wrangler deploy --config dist/server/wrangler.json |
Deploys to Cloudflare Workers |
node --experimental-strip-types scripts/ingest-popular.mjs |
Prepares the popular recipes listed in data/popular-videos.json |
- Live app: running on Cloudflare Workers with D1 and R2.
- Technical guide: deployment to Cloudflare (Workers, D1, R2), the shared library, voting and limits.
- Architecture: how the interface, local data, watch & cook, timers and sharing are built.
- Credits: the creators behind the popular recipes, fonts, icons and AI.
CookingTube was designed and built by Design House: websites, automations, video and apps for businesses. Want something like this for your company? Write to maciej@designhouse.me.
Apache License 2.0. Keep the NOTICE with its credit when you share or build on CookingTube.






