✦
The Problem: Data Graveyard
I kept saving recipe videos on YouTube, but the playlist quickly became a graveyard — a growing collection where inspiration was forgotten. I found myself scrolling through a flat list of thumbnails, unable to tell if a recipe fit my needs, and usually gave up to search for something new instead.
✦
The Concept
I built RecipeBrain to turn a list of bookmarks into an intelligent kitchen assistant that understands the context behind every video, the project focuses on three interactions:
Agentic Discovery: Chat with an AI assistant to filter, compare, and recommend saved recipes by ingredients, time, or mood.
Automated Extraction: importing a recipe from a YouTube link with AI-extracted metadata.
Smarter Filing: browsing and filtering a structured collection by time, difficulty, cuisine, and dietary needs.
✦
How It Was Built — With AI
Step 1: Design in Figma
Natural hand gestures control the AR experience — diners performs an opening hand gesture to activate the menu, close it to dismiss, and use grabbing motions to select items.
Step 2: Translate Design to Code
Use Claude Code + FigmaMCP to convert Figma designs into React components, keeping implementation aligned with design tokens.
Step 3: Define the Technical Architecture
Use Claude to work through stack decisions, data structure, AI prompt architecture, and implementation sequence to produce a technical brief that guides the build.
Step 4: Wire Up Data and AI Chat
Connect pre-seeded recipe JSON to UI components. Implement the AI chat using Gemini 2.5 Flash, passing the full collection as context with each prompt.
Step 5: Deploy to Vercel
Push to GitHub and deploy via Vercel with the Gemini API key as an environment variable.


Step 6: Add YouTube Import Feature
Build a serverless function that extracts a YouTube transcript, parses it into structured recipe data via Gemini, and wires it into the existing Add Recipe flow. Capped at 2 imports per session.
Step 7: Evaluate + Refine with Braintrust
Use Braintrust (an AI evaluation platform) to test chat accuracy and import parsing quality. Refine system prompts based on results.