v1.0 Motion synthesis · Human variance · Visual editor

Replay that moves like a hand, not a script.

SmoothFrame records your mouse and keyboard, then plays it back with physically modeled motion, tunable human variance, and a visual editor where you drag click points over the real screen. All in one portable executable.

Single .exe · No installer · No admin rights · Zero network calls

144Hz
Synthesized output rate
0.110×
Speed range, never teleports
<50ms
Global abort, any window
1 file
Runs straight off a USB stick
The difference

Most recorders teleport. SmoothFrame travels.

A basic recorder snaps the cursor to each coordinate at a fixed interval. SmoothFrame draws a spline through your recorded path and moves along it with a minimum-jerk velocity profile — fast in the middle, decelerating into the target, exactly how an arm moves. Play with the dials; this is the real algorithm running in your browser.

Typical recorderlinear · fixed timing
path nonevariance 0runs identical always
SmoothFrameseed 0x0000
path spline + min-jerkrun 1last duration

Lock the seed and every run is identical to the pixel and millisecond — unlock it and no two runs match. That's the whole idea: realistic by default, reproducible on demand.

Everything, done properly

Every feature you'd want from a recorder. None of the shortcuts.

Complete capture

Movement, left/right/middle/side clicks, scroll, and optional keyboard — through a non-blocking global hook that never makes your cursor stutter.

120 Hz sampling · RDP decimation · per-monitor DPI aware

Motion synthesis

Catmull-Rom splines, minimum-jerk velocity, perpendicular noise, and overshoot-and-correct. Or switch to WindMouse. Or Linear, if you really must.

Spline · WindMouse · Linear

Real speed control

0.1× to 10×. Paths are re-sampled, not skipped, so 4× still looks like a smooth, fast human. Explicit wait blocks stay real-time unless you say otherwise.

Loops · random loop gaps · return-to-start

Statistical variance

Log-normal timing, Gaussian click scatter, hold-duration jitter, micro-pauses, and fatigue drift across long loops. Five presets, every value tunable.

Off · Subtle · Natural · Casual · Erratic

Visual click editor

Your path is drawn over a screenshot taken the moment you hit record. Drag click points onto the right button, nudge with arrow keys, edit on a timeline.

Unlimited undo · trim · split · merge · ripple edit

Triggers, tray & CLI

Bind any recording to a global hotkey. Launch from the tray. Script it headless from the command line with speed, loops, seed and humanization flags.

smoothframe play report.sfr --loops 3
Humanization engine

Randomness is easy. Realistic randomness is math.

Most tools that offer "random delay" add uniform jitter: every value in a range equally likely. Real human timing doesn't look like that. It's right-skewed — mostly quick, occasionally slow, never below reaction time. SmoothFrame models it with a log-normal distribution, the standard model for human response latency.

  • Timing jitterEach delay × LogNormal(0, σ), clamped
    σ 0.18
  • Click scatterIndependent Gaussian on x and y
    σ 2.5px
  • Overshoot & correctOnly on moves longer than ~150px
    p 0.15
  • Micro-pausesOccasional hesitation between actions
    p 0.02
  • Fatigue driftGradual slowdown over long loops
    0–0.3
  • SeedFixed seed = byte-identical run
    u64
Distribution of 1,000ms delaysuniform ±30%log-normal
samples 0min max shape right-skewed
The editor

Edit clicks where they happened. Not in a coordinate table.

Grab any glowing click point below and drag it. The path re-flows, the inspector updates, and the coordinates scale to the real recording resolution. That's how editing works in SmoothFrame.

SmoothFrame— daily-report-export.sfr
00:14.8REC F9
SelectEdit pathInsert waitDry run drag points · shift to constrain
0s3s6s9s12s14.8s
Safety first

An app that takes the mouse must always give it back.

Esc
Press it. Or tap it.
01

Global abort hotkey

Esc or F9 stops playback from any focused application, checked between every single output tick. Under 50 ms from keypress to full stop.

02

Corner failsafe

Slam the physical mouse into any screen corner and SmoothFrame detects you fighting the playback and gets out of your way instantly.

03

Watchdog & clean release

A stalled playback thread is killed within two seconds. Every exit path — even a crash — releases every button and modifier. No stuck Ctrl, ever.

04

No wrong-window clicks

If your monitor layout changed since recording, SmoothFrame asks how to adapt — scale, remap, or refuse — instead of silently clicking the wrong thing.

Portable by design

Copy one folder. Take your whole library anywhere.

No installer, no runtime, no registry entries. Drop SmoothFrame on a USB stick and it keeps its recordings right beside itself. Built on Rust and Tauri, so the whole app is a fraction of the size of browser-based tools.

USB:\portable mode
SmoothFrame.exe // < 15 MB, that's the app
SmoothFrame_Data/
  ├─ recordings/
  │  ├─ daily-report-export.sfr // plain JSON
  │  ├─ qa-login-flow.sfr
  │  └─ screens/ // editor backdrops
  ├─ history/ // last 10 versions each
  └─ settings.json
Terminalheadless CLI
$ smoothframe play report.sfr --speed 1.5 --loops 3
  ▸ humanize natural · seed 0x9f3a1c · 3 loops
  ▸ loop 3/3 complete in 29.4s

$ smoothframe play report.sfr --seed 0x9f3a1c
  ▸ identical run reproduced

$ smoothframe info qa-login-flow.sfr
  ▸ 9.3s · 11 clicks · 142 anchors · 2 monitors

$ smoothframe validate *.sfr
  ▸ 5 files ok
✓ no installRuns on first double-click
✓ no adminStandard user account is enough
✓ no runtimeNo .NET, no VC++ redistributable
✓ no telemetryZero network calls, ever
Why SmoothFrame

The gap between "records clicks" and actually good.

CapabilityTypical recorderSmoothFrame
Cursor movement on replayJumps to each pointSpline path, min-jerk velocity
Speed changesShortens delays; motion unchanged or skippedRe-samples the path, 0.1×–10×
Timing varianceNone, or flat uniform randomLog-normal, clamped, per event
Position varianceExact pixel every timeGaussian scatter, overshoot & correct
Reproducible random runsSeeded — replay run #47 exactly
Editing clicksNumbers in a listDrag over the real screenshot + timeline
Preview before runningDry run animates without moving your mouse
Resolution / monitor changesClicks land in the wrong placeDetects and adapts, or refuses
Emergency stopOften focus-dependentGlobal hotkey + corner failsafe + watchdog
PortabilityInstaller, runtime dependenciesOne file, runs off a USB stick
Recording formatProprietary binaryPlain, hand-editable JSON

"Typical recorder" reflects common behavior of basic record-and-replay utilities; individual tools vary.

Operations

Repetitive workflows

Exports, report pulls, and form entry you do every morning — recorded once, tuned, and bound to a hotkey.

QA

UI testing

Seeded variance exercises the same flow with realistic timing differences, and any failing run can be reproduced exactly.

Content

Demos & tutorials

Screen recordings where the cursor glides like a person is presenting, not snapping around like a robot.

Accessibility

Fewer repetitive motions

Offload long click sequences to reduce strain, with editing precise enough to get every target right.

FAQ

Questions, answered.

Does SmoothFrame connect to the internet?

No. The app makes zero network calls — no accounts, no cloud sync, no telemetry, no update pings. Your recordings never leave your machine unless you copy them somewhere yourself.

What if a recording goes wrong mid-playback?

Hit Esc or F9 from anywhere, or shove the mouse into a screen corner. Playback stops, and every button and key SmoothFrame was holding is released. A watchdog covers the case where the playback thread itself hangs.

Does it work with multiple monitors and scaling?

Yes. It's per-monitor DPI aware and stores every point both in physical pixels and as a position normalized to its monitor, so recordings survive resolution and scaling changes.

What does the seed actually do?

All variance comes from a seeded random generator. The same seed produces a byte-identical run — same path, same timings, same click offsets — which makes debugging and tuning dependable. The seed of every run is shown so you can always get it back.

Can I edit a recording by hand?

Yes. Recordings are plain JSON in .sfr files. The visual editor is the easy way, but you can open any file in a text editor, and run smoothframe validate afterward to check it.

Does it record keystrokes?

Only if you turn it on — keyboard capture is off by default. When enabled, a mask option stores typed text as redacted so passwords never land in a recording file.

Mac and Linux?

Windows comes first. The input layer is built to be cross-platform; macOS and Linux builds will follow. On macOS you'll grant Accessibility permission, which the OS requires for any input tool.

Is it okay to use everywhere?

SmoothFrame is a general-purpose productivity and testing tool. Some games and online services prohibit automated input in their terms — respect the rules of whatever you run it against.

SmoothFrame v1.0

Stop replaying input. Start performing it.

One file. No install. The best-moving mouse recorder you can put on a USB stick.

Windows 10 / 11 · x64 · SmoothFrame.exe