Inspiration

ActuallyCook was inspired directly by Eitan Bernath’s Shipyard creator brief.

The core question was simple: how can recipe content become more usable?

I’ve personally run into this problem many times. I would save a cooking video with the intention of making it later, but when it was time to cook, I had to rewatch the entire video just to figure out the ingredients and steps.

Recipe videos are great for inspiration, but they are not structured for action.

ActuallyCook was built to close that gap. It transforms recipe videos and text into structured ingredients, AI-generated step-by-step instructions, and grocery-ready plans in seconds.

The goal is straightforward: move from “I saw this” to actually cooking it.

What I Built

ActuallyCook is an iOS app built with Expo and React Native. It converts recipe videos and text into structured, usable cooking plans.

Core capabilities include:

  • URL import (YouTube)
  • Text import
  • AI-powered ingredient extraction
  • AI-generated step-by-step instructions
  • Automatic grocery list creation
  • In-app recipe organization
  • Subscription-based unlimited AI imports powered by RevenueCat

Manual recipe creation and organization are always free. AI imports are gated behind a quota-aware subscription system.

How It Works

ActuallyCook uses a layered import pipeline:

  1. URL intake and session creation
  2. Metadata classification to detect recipe intent
  3. Ingredient extraction from description, comments, and captions
  4. Client-first caption fetching with server fallback
  5. AI normalization and structured output generation
  6. Finalization into a recipe and grocery list

All AI processing runs server-side using structured prompts for classification, extraction, and normalization.

Pipeline progress is streamed to the client using SSE so users can see real-time updates during import.

Free users receive 5 AI imports in total. Pro users receive unlimited imports. The quota only increments after a successful completion.

Key Lessons

  • Monetization should be part of the architecture from the beginning.
  • Quota enforcement must happen server-side.
  • Reliable AI output depends heavily on normalization.
  • Real-time feedback improves perceived performance and trust.

Challenges

The main technical challenges included:

  • Handling inconsistent caption availability across YouTube videos
  • Designing a pipeline that can pause, resume, or fail cleanly
  • Building a hybrid client and server caption strategy
  • Keeping AI costs predictable while maintaining output quality

From a product perspective, the challenge was avoiding the “AI gimmick” trap and focusing instead on something structured and genuinely useful.

RevenueCat

RevenueCat plays a central role in the architecture.

ActuallyCook was designed as a quota-aware subscription product from the beginning. Shipyard provided a focused environment to explore:

  • Entitlement-based gating
  • Paywall triggering logic
  • Restore flows
  • Server-enforced quota tracking

Monetization is not a surface feature in this project. It is built into the system design.

What’s Next

If continued beyond Shipyard, I would expand:

  • Multi-platform support (Instagram, TikTok, and web recipes)
  • A visual ingredient extraction layer
  • Improved instruction refinement
  • Creator-specific integrations

The long-term goal is to make ActuallyCook the bridge between food content and real-world execution.

Closing

ActuallyCook is an execution-first MVP that combines AI processing, real-time orchestration, and subscription-aware design into a cohesive consumer app.

Shipyard pushed me to build something complete and monetization-ready from the start, not just something that works, but something that can scale.

Built With

Share this project:

Updates