# How it works

> How Ondaclip works: from a YAML file in your repository to a published, narrated video tutorial, kept up to date every time your app changes.

## One tutorial, five steps

1. **Write.** A tutorial is a YAML file in your repository: the steps, what
   to click or type, and what the narrator says in each language. Your AI
   agent can draft it, and so can Ondaclip, starting from an issue.
2. **Film.** Ondaclip opens your real app in a browser, signs in with a demo
   account and plays the steps. It captures crisp screens, zooms in on what
   matters and moves the cursor like a real person.
3. **Narrate.** A natural voice speaks each sentence in every language of
   your product. Each sentence's length sets the length of its shot.
4. **Edit.** Shots, narration, subtitles and transitions come together in one
   short video per language, with a poster and chapters.
5. **Publish.** Someone on your team reviews the clips in the studio and
   publishes them to your storage. Your app reads a manifest and shows the
   videos.

## When the app changes

Ondaclip watches the branches you choose. When a new version lands, it
compares the screens in each published tutorial with your current app, tells
you which videos are out of date, and remakes them. When the tutorial itself
needs to change (a button moved, a step was added), Ondaclip proposes the
change in a pull request. A person always merges. See [updates](/docs/updates/).

## Where it runs

You choose once per product:

- **Ondaclip Cloud**: hosted by Ondaclip, with nothing to set up or manage.
- **Your infrastructure**: your own Google Cloud project. Shoots, files, demo
  accounts and costs all stay there. The studio only starts runs and reads
  results.

Compare the two in [where it runs](/docs/where-it-runs/). Either way, Ondaclip
films your app on the environment you choose (DEV by default), with
fictitious data.

Source: https://ondaclip.com/docs/how-it-works/
