Reel 01 Product video, straight from the repository

Repo in. Film out.

Shufti turns a code repository into a polished, branded, narrated product video, made from your product's real UI. No running the app yourself, no screen recording, no developer on call. Point it at a repository you can clone and it does the rest.

Demo film in the edit

A video made by Shufti will play here.

The eight stages of a Shufti render:
  1. 01Clone
  2. 02Stand up
  3. 03Brand
  4. 04Direct
  5. 05Voice
  6. 06Capture
  7. 07Compose
  8. 08Render
In
A repository URL and a prompt
Out
MP4, 1080p, 60 fps
Runs
On your Mac, with your own keys
Licence
MIT, open source

02 How it works

Eight stages.
No hands.

Making a demo from product UI normally means running the app locally to take screenshots and recordings. Shufti does that part itself, start to finish.

  1. Clone

    A shallow clone of the repository, using your own git access. If you can clone it, Shufti can read it.

    Your git access
  2. Stand up

    Detects the stack, installs it, starts the dev server and checks in a real browser that the product actually renders. If the obvious route fails, an AI boot agent reads the repo and works it out: mock mode, SQLite, placeholder env values.

    • Next
    • Vite
    • Nuxt
    • SvelteKit
    • Astro
    • Remix
    • Angular
    • CRA
    • Static sites
    • Django
    • Flask
    • FastAPI
    • Streamlit
    Sandboxed
  3. Brand

    Copies the brand from the running product: accent colour, logo, typeface and its font files, corner radius. Or use assets you supply, or copy from any website URL you point at.

    From the live product
  4. Direct

    An AI director, Claude, explores the live product in a browser, reads the README, chooses one story and writes a storyboard. The storyboard is rehearsed in a clean browser and only accepted when every click lands.

    Rehearsed first
  5. Voice

    Narration through your ElevenLabs key, with word-level timing, plus an optional composed music bed. Speech is cached, so a re-render never pays twice.

    Word-level timing
  6. Capture

    Films the real UI at 2x pixel density with a smooth cursor, paced to the narration.

    2x pixel density
  7. Compose

    An automatic camera pushes in on what is clicked and frames what changed. Word-synced captions, title and outro cards, and sound cues are laid in.

    Automatic camera
  8. Render

    A deterministic, frame-by-frame render to MP4: 1080p at 60 fps, in 16:9, 9:16 or 1:1.

    Frame by frame

03 What you give it, what you get

A link goes in.
A film comes out.

You give it

  • A repository URLAnything you can clone.
  • A promptWhat the video should be, in your own words.
  • A lengthHow long the finished video runs.
  • Brand assetsOptional. Otherwise Shufti copies the brand from the product.
  • An Anthropic API keyFor the director. Yours, stored locally.
  • An ElevenLabs API keyFor narration. Without one, the video is silent with captions.

You get

  • An MP4 at 1080p, 60 fpsWidescreen, vertical or square.
  • Your real UI, on brandAccent colour, logo, typeface and corner radius carried through.
  • Narration and captionsCaptions synced to each spoken word, with an optional music bed.
  • Title and outro cardsComposed for you, with sound cues.
  • A cut you can reviseType what to change and Shufti recuts it.

04 Templates

Five to start.
Then your own.

A template sets the shape of the film: its beats, pace and default length. Five are built in.

  • Product launch

    A bold promise, the product revealed, three moments that prove it, and a clear call to action.

    40 s · 16:9
  • Feature spotlight

    One feature, shown properly: the problem it removes, the feature in action, and the result.

    30 s · 16:9
  • Guided walkthrough

    A calm, step-by-step tour for onboarding and help centres. Slower pace, every click explained.

    60 s · 16:9
  • Social teaser

    Fifteen fast seconds for feeds: a hook in the first second, two punchy product moments, and a tag.

    15 s · 9:16
  • Release update

    What is new in this release: each change shown in the product, one after another.

    45 s · 16:9

Lengths and shapes shown are each template's defaults. You can change both.

  • Save any cut as a template

    Finished a video you like? Save it, and the next one starts from the same shape.

  • Share it as a file

    Templates are JSON files. Send one to a colleague and they have your format.

  • Commit it with the product

    Put templates in .shufti/templates/ in your repository and the house style travels with the code.

05 Safety

Code in a box.
Keys outside it.

  • Sandboxed by default

    Repository code runs in a Docker container when Docker is available. Otherwise it runs as an isolated process with a scrubbed environment and its own home folder.

  • Keys never reach repository code

    Your API keys stay with Shufti. The code being filmed never sees them.

  • Local, not hosted

    Shufti runs on your machine. There is no Shufti cloud and no account. Your keys are stored locally.

  • Open source

    MIT licensed. Read exactly what it does in the repository.

06 Download

Get Shufti
for Mac.

Checking for the latest build.

  • Drag, drop, openOpen the .dmg, drag Shufti to Applications and launch it. The Studio opens in its own window.
  • Nothing to sign up forNo account and no subscription. You bring your own Anthropic and ElevenLabs keys.
  • Not on a Mac?Run npx shufti to open the same Studio in your browser.

Install steps and requirements

07 FAQ

Fair
questions.

Do I need to be a developer?

No. You need a repository you are able to clone, and a sentence about the video you want. Shufti clones it, gets the product running, and films it. It has a built-in system check that looks for the tools it relies on, such as git and Node.js, and tells you how to fix anything that is missing.

What does it cost?

Shufti itself is free and open source under the MIT licence. There is no account and no subscription. It uses your own Anthropic and ElevenLabs API keys, so you pay those providers directly for what you use.

Where does my code go?

It is cloned to your machine and run there, inside a sandbox. There is no Shufti server. Shufti does call two services with your own keys: Anthropic, so the AI can read the repository and look at the running product, and ElevenLabs, which receives the narration script.

Is the footage real, or mocked up?

Real. Shufti runs your product and films its actual interface in a browser at 2x pixel density. The storyboard is rehearsed first and only accepted when every click lands.

Which stacks can it run?

Next, Vite, Nuxt, SvelteKit, Astro, Remix, Angular, Create React App, static sites, Django, Flask, FastAPI and Streamlit are detected directly. When the obvious route fails, an AI boot agent reads the repository and works out how to start it.

Can I change the video afterwards?

Yes. Type what you want changed and Shufti revises the cut. Narration is cached, so re-rendering does not pay for the same speech twice.

What if I have no ElevenLabs key?

You still get a video. It is silent, with captions.

Is there a hosted version?

No. Shufti runs locally: as the Mac app, as the Studio in your browser with npx shufti, or from the command line.