app ·
Lumae: The AI Agent Video Editor for Screen Recordings and Screenshots

How Lumae lets an AI agent film and edit a screen recording alongside you.
Lumae is the Mac app I built for recording and editing software demos. You can also hand it to Claude Code, which can film a demo, cut it, zoom on the clicks and caption it while you watch in the editor. The project page covers why I built it. This is how it works.
Every edit is a command
Before I drew a single screen, I made one rule: nothing changes a project except a small command, run through one editor. That includes my own timeline drags.
It’s a boring rule, and it’s why adding agents was cheap. The commands double as the wire format, so {"moveClip": {"id": "…", "toIndex": 2}} is what an agent sends over MCP and what the app writes to its own audit trail. If the interface can do something, an agent can too, with the same validation, undo and autosave.
An agent added a zoom over MCP, and the Edit menu names it. Each request is its own undo step.
Five lanes, one set of commands. Clips, zooms, narration and captions all move, trim and snap through the same code.
Zooms, cursor and blur
Lumae remembers every click while you record. Clicks that land close together become one zoom, which arrives before the first click and holds until after the last, so the camera is already there when something happens.
The real pointer is hidden, and a fake one is redrawn from the recorded path, so it can look super smooth. It can also be made much bigger after the fact, it leans into its moves in a very satisfying way, and shows each click as a press or a ripple. All editable after recording since it’s just logged position data.
My first motion blur was a blur filter, and it made everything look soft. Lumae now does what a camera does: it renders each move at several moments across a virtual shutter and averages them.
Mid zoom. The streak grows with distance from the pivot and runs along the motion. The caption is composited after, so it stays sharp.
Handing the agent the camera
An agent can film the demo too. It points start_recording at a window and clicks through the app while Lumae records. An agent’s own input is too fast to follow on video, and pacing can’t be added in the edit, so for anything on camera it hands the pointer to perform_gesture. That moves the way a hand does, with eased travel, a beat before each click and uneven typing.
To make the result worth watching, Lumae also gives the agent three guides (skills files) it can load when it needs them, on directing, recording and editing.
The agent can also see what it’s working on. Every recording keeps its click data, so “zoom on my third click” needs no rendering. When it does need to look, it can render a frame, a labelled contact sheet, or a preview of edits it hasn’t applied yet.
One call's worth of composed frames, with times, captions and cursor in place.
The homepage is the app
The hero on lumae.app looks like a screen recording. It’s HTML. The editor, cursor, zooms and screenshot editor are rebuilt in the browser from Lumae’s Swift source.
The top of lumae.app. The editor window is part of the web page.
The sizes, colours and animations all come from the app’s own code. A script takes screenshots of the app and the site and compares them, so I can see anywhere they differ. And whenever I work on the site, Claude checks what has changed in the app since the demos were last updated and flags anything that’s out of date.
Lumae is free and has no account. Nothing you make leaves your Mac.
Comments