<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/myjourney-create-product-demos-without-wasting-a-day-x7f6zhbl6" -->

---
title: MyJourney: create product demos without wasting a day
description: MyJourney is a tool that automatically generates narrated product demo videos. You provide a URL and a description, and it uses Claude Opus to plan a tour of...
canonical: https://daily.dev/posts/myjourney-create-product-demos-without-wasting-a-day-x7f6zhbl6
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: MyJourney: create product demos without wasting a day | daily.dev
og:description: MyJourney is a tool that automatically generates narrated product demo videos. You provide a URL and a description, and it uses Claude Opus to plan a tour of...
og:url: https://daily.dev/posts/myjourney-create-product-demos-without-wasting-a-day-x7f6zhbl6
og:image: https://api.daily.dev/og/posts/x7f6zhbl6.png
og:image:alt: MyJourney: create product demos without wasting a day
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MyJourney: create product demos without wasting a day

**[The Miners](https://daily.dev/sources/miners)** · 13 min read · 0 upvotes · 0 comments

## Summary

MyJourney is a tool that automatically generates narrated product demo videos. You provide a URL and a description, and it uses Claude Opus to plan a tour of the site in a real browser, compiles the plan into a Playwright script via a custom DSL (the model writes JSON, never code), records the session using Chromium's CDP screencast, and assembles the final MP4 with voice narration, lip-synced presenter, and branding using ffmpeg. Key design decisions include: a human approval step before recording, safety guardrails that block destructive actions, a human-handled login flow, quality gates for motion and composition, and a cost of roughly $0.30 per tour. The architecture is intentionally minimal — two processes and a database, with the queue implemented as a database table.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://blog.codeminer42.com/myjourney-product-demos-without-wasting-a-day>

## Questions this post answers

### Why does myjourney have the AI generate JSON instead of directly writing Playwright test scripts?

Generating JSON avoids syntax errors and unintended code execution. The model outputs a JSON plan validated against a fixed schema (a domain-specific language) that a hand-written compiler turns into Playwright, so an invalid plan produces a validation error rather than a broken script needing debugging at 3 a.m. The DSL also structurally prevents actions like opening a new tab or logging into another site, since no such verb exists in the schema.

_Anyone building agent pipelines that must stay safe and deterministic can compare approaches like this on daily.dev._

### How much does it cost to generate an AI narrated product demo video with a presenter avatar?

A complete tour with a talking presenter costs around thirty cents plus planning tokens. Breakdown: English voice via Kokoro is free (runs locally), Portuguese voice via minimax-speech-02-hd costs $0.0276, a FLUX.1-dev presenter portrait costs $0.012, and InfiniteTalk lip-sync costs $0.25 per render at 480p regardless of duration, while recording and assembly with Playwright, CDP, and ffmpeg run locally at no cost.

_Developers weighing AI video generation costs against manual demo recording can track pipeline breakdowns like this on daily.dev._

### How do you prevent an AI browser automation agent from clicking destructive buttons like delete or checkout during an automated demo?

Validation independently re-derives the risk of each action rather than trusting the plan's own risk label, and refuses to click anything matching delete, buy, checkout, cancel subscription, invite, or sign out no matter what the plan declares. Hovering over such a button to show it exists is allowed, but pressing it is blocked entirely; the model never self-certifies its own actions as safe.

_Teams building safe browser-automation agents can follow guardrail patterns like this on daily.dev._

## Similar posts on daily.dev

- [Record a product demo with Playwright](https://daily.dev/posts/record-a-product-demo-with-playwright-bfaidl1pm) · Flavio Copes · 0 upvotes · 0 comments
- [Have your agent record video demos of its work with shot-scraper video](https://daily.dev/posts/have-your-agent-record-video-demos-of-its-work-with-shot-scraper-video-g5fynkctv) · Simon Willison · 0 upvotes · 0 comments
- [Monitor critical user journeys with Datadog Journey Monitoring](https://daily.dev/posts/monitor-critical-user-journeys-with-datadog-journey-monitoring-bwynrhe1e) · Datadog · 0 upvotes · 0 comments

---

Tags: [#ai-agents](https://daily.dev/tags/ai-agents), [#automation](https://daily.dev/tags/automation), [#claude](https://daily.dev/tags/claude), [#video-generation](https://daily.dev/tags/video-generation)

[View this post on daily.dev](https://daily.dev/posts/myjourney-create-product-demos-without-wasting-a-day-x7f6zhbl6)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"MyJourney: create product demos without wasting a day","url":"https://daily.dev/posts/myjourney-create-product-demos-without-wasting-a-day-x7f6zhbl6","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/myjourney-create-product-demos-without-wasting-a-day-x7f6zhbl6"},"datePublished":"2026-08-05T15:40:49.724Z","dateModified":"2026-09-14T07:04:25.684Z","description":"MyJourney is a tool that automatically generates narrated product demo videos. You provide a URL and a description, and it uses Claude Opus to plan a tour of...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f94953521dff951450f7d82385d0fa48?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f94953521dff951450f7d82385d0fa48?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"The Miners","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"The Miners","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/8cf42b495e314084b9e31eb135ff5d23","url":"https://daily.dev/sources/miners"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/myjourney-create-product-demos-without-wasting-a-day-x7f6zhbl6","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ai-agents,automation,claude,video-generation","timeRequired":"PT13M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"The Miners","item":"https://daily.dev/sources/miners"},{"@type":"ListItem","position":3,"name":"MyJourney: create product demos without wasting a day"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/myjourney-create-product-demos-without-wasting-a-day-x7f6zhbl6#faq","mainEntity":[{"@type":"Question","name":"Why does myjourney have the AI generate JSON instead of directly writing Playwright test scripts?","acceptedAnswer":{"@type":"Answer","text":"Generating JSON avoids syntax errors and unintended code execution. The model outputs a JSON plan validated against a fixed schema (a domain-specific language) that a hand-written compiler turns into Playwright, so an invalid plan produces a validation error rather than a broken script needing debugging at 3 a.m. The DSL also structurally prevents actions like opening a new tab or logging into another site, since no such verb exists in the schema. Anyone building agent pipelines that must stay safe and deterministic can compare approaches like this on daily.dev."}},{"@type":"Question","name":"How much does it cost to generate an AI narrated product demo video with a presenter avatar?","acceptedAnswer":{"@type":"Answer","text":"A complete tour with a talking presenter costs around thirty cents plus planning tokens. Breakdown: English voice via Kokoro is free (runs locally), Portuguese voice via minimax-speech-02-hd costs $0.0276, a FLUX.1-dev presenter portrait costs $0.012, and InfiniteTalk lip-sync costs $0.25 per render at 480p regardless of duration, while recording and assembly with Playwright, CDP, and ffmpeg run locally at no cost. Developers weighing AI video generation costs against manual demo recording can track pipeline breakdowns like this on daily.dev."}},{"@type":"Question","name":"How do you prevent an AI browser automation agent from clicking destructive buttons like delete or checkout during an automated demo?","acceptedAnswer":{"@type":"Answer","text":"Validation independently re-derives the risk of each action rather than trusting the plan's own risk label, and refuses to click anything matching delete, buy, checkout, cancel subscription, invite, or sign out no matter what the plan declares. Hovering over such a button to show it exists is allowed, but pressing it is blocked entirely; the model never self-certifies its own actions as safe. Teams building safe browser-automation agents can follow guardrail patterns like this on daily.dev."}}]}
```

