Automatic zoom for screen recordings on Mac
A tight zoom onto the button you just clicked is what separates a polished demo from a flat screen capture. Doing it by hand is tedious; getting the timing right is an art. This is how automatic cinematic zoom works on Mac — what it is, how Cadre generates it from your clicks and keystrokes, and when to take the wheel.
In short: Cadre watches your cursor, clicks and keystrokes while you record, groups that activity into moments, and animates a spring-driven zoom in and back out around each one — automatically, and editable on the timeline afterward.
What cinematic auto-zoom is
Cinematic zoom is a camera move borrowed from film editing: when something matters, the frame pushes in on it, holds while the action happens, then eases back out to context. On a screen recording it does the same job a good editor does manually — it directs the viewer's eye to the menu you opened, the field you typed into, the result that appeared — without you narrating "look here".
The hard part isn't the zoom itself; it's knowing where and when, and making the motion feel like a camera rather than a snap. Automatic auto-zoom solves both by reading what you actually did during the take.
Tracking the action
While you record, Cadre tracks the cursor at the HID level with a high-resolution 240 Hz poll, and taps mouse and scroll events directly. Every click, scroll and keystroke is logged with its position and timestamp alongside the video. None of this leaves your Mac — it's local interaction data, captured so the editor knows where the action was, not just what the pixels looked like.
That's the raw material. A five-minute recording is thousands of these events; the next step is turning them into a handful of meaningful "zoom here" moments.
How Cadre decides where to zoom
Rather than zoom on every single click — which would feel twitchy — Cadre groups events into segments and classifies each one. The heuristics that ship today:
- Split by idle. A gap of more than about a second of no activity ends the current segment and starts a new one, so distinct actions don't blur together.
- Classify the segment. Cadre labels each cluster of activity as a click cluster, a typing burst, a scroll, or a single click.
- Frame the action. It takes the bounding box of the events in that segment, adds roughly 20% padding around them, and respects your output aspect ratio — so the zoom lands on the action with breathing room, not cropped tight against it.
The classification rules are deliberately conservative, to avoid zooming on noise:
| Signal | How Cadre recognises it |
|---|---|
| Click cluster | Three or more clicks within about two seconds and within ~200 px of each other — a focused burst of activity in one place. |
| Typing burst | A run of keystrokes above a couple of keys per second — you're entering something, so the field you're typing into is what matters. |
| Scroll | Scroll activity that clearly dominates, when there's no deliberate click competing for attention. |
| Single click | One deliberate click that isn't part of a cluster — a lighter, closer push-in. |
Segments too short to be worth a zoom are skipped, and each zoom holds briefly after the action before easing out, so the viewer has a moment to register what happened.
How far it zooms
Not every action deserves the same push-in. A typing burst wants a tighter frame so the text is legible; a scroll only wants a gentle nudge. Cadre scales the zoom to the kind of action:
| Action | Default zoom |
|---|---|
| Typing burst | 2.25× tightest — keep text readable |
| Click cluster | 2.0× focused activity in one spot |
| Single click | 1.75× a lighter push-in |
| Scroll | 1.3× a gentle nudge |
These are starting points, not rules you're stuck with — every value is editable per keyframe (see below).
Why it feels cinematic, not robotic
A zoom that jumps linearly from one scale to another reads as mechanical. Cadre animates the transition with a damped-spring solver instead of a fixed curve — the same physics that makes a well-designed UI element settle rather than snap. The frame accelerates into the zoom and decelerates as it arrives, the way a real camera operator eases a push-in.
The spring has three knobs — tension (stiffness), friction (damping) and mass. Cadre's default zoom spring is tuned for a confident, cinematic push-in that settles cleanly without overshooting. The cursor itself gets the same treatment with a softer spring, so a shaky hand becomes a smooth glide. Both are adjustable in the motion settings if you want a snappier or more languid feel.
When to override — and how
Auto-zoom gets you 90% of the way in one pass. The last 10% is judgement, and it's yours. Every zoom Cadre generates is an ordinary keyframe on a dedicated zoom track, so reach for a manual edit when:
- The zoom missed the beat. You want it to land a half-second earlier, or hold longer while you explain — drag its start and end on the timeline.
- It's too aggressive, or not enough. Dial the zoom level down for a wide reveal or up to make small text legible.
- You want a zoom that has no click behind it. Add your own keyframe on a moment the heuristics wouldn't catch — a result appearing, a value changing on its own.
- A zoom is fighting your narration. Delete the ones that don't earn their place. Fewer, well-placed zooms beat constant motion.
When you adjust an auto-generated zoom, Cadre marks it as user-modified, so if you re-run the analysis later, your hand edits are preserved rather than overwritten. And because it's all just timeline data, you can also hand the same job to an agent — "zoom on the terminal whenever I type" — as covered in editing a recording with an AI agent.
Cinematic zoom, generated for you
Cadre records your screen and animates the zooms automatically — cinematic out of the box, editable to the frame. One plan, $120 a year or $50 a month.
$120/year or $50/month · macOS 13+
FAQ
What is cinematic auto-zoom?
An automatic camera move that pushes in on whatever you're doing on screen and eases back out when you're done — the same technique a professional editor uses to direct attention, generated for you instead of keyframed by hand.
How does Cadre decide where to zoom?
It tracks your cursor, clicks, keystrokes and scrolls while you record, groups that activity into segments split by idle gaps, classifies each one (click cluster, typing burst, single click or scroll), and zooms to the bounding box of the action with padding around it.
Why does the zoom feel smooth instead of snapping?
It's animated by a damped-spring solver rather than a fixed curve, so it accelerates and settles like a physical camera. Cadre's default spring is tuned for a cinematic push-in and ease-out, and it's adjustable in the motion settings.
Can I override the automatic zoom?
Yes — every auto-generated zoom is an editable keyframe on the timeline. Move it, retime it, change how far it zooms, add your own or delete one. Hand edits are marked so a later re-analysis won't overwrite them.
Does auto-zoom work with a mirrored iPhone or iPad?
Auto-zoom is driven by cursor, click and keystroke activity, which is what a Mac screen recording produces. For a mirrored iOS device you can place zooms by hand on the timeline (or ask your agent to), since there's no pointer activity to detect.