Screen recording
that edits itself

FocusFlow watches where you click, then builds the zooms, cuts, and camera movements automatically. Ship polished tutorials in minutes, not hours.

focusflow — session.ts
1// FocusFlow Session
2
3import { createRecorder } from '@focusflow/core'
4
5const session = createRecorder({
6track: 'interactions',
7autoZoom: true,
8smartCut: true,
9output: './tutorial.mp4'
10})
11
12// ✓ Tracking 14 interactions
13// ✓ Zoom timeline generated
14// ✓ Export ready
15
16session.start()
function handleClick(e) {
  const target = e.target
  dispatch({ type: 'CLICK',
    x: e.clientX, y: e.clientY })
}

useEffect(() => {
  document.addEventListener('click',
    handleClick)
}, [])
REC  01:24
Auto Zoom
INTERACTION TIMELINE
Click tracked 14 interactions recorded
Zoom generated 2× at (462, 318)
Timeline ready 4 segments · 0:00→1:24
MIT License
Built with Rust
Powered by FFmpeg
Tauri v2
100% local

Recording is five minutes.
Editing is two hours.

Every tutorial requires the same painful manual work — finding click moments, keyframing zooms, adding cursor highlights. Most developers just stop making them.

01

Manual zooms kill your momentum

Scrubbing through footage to find click moments, then keyframing each zoom one by one — it takes longer than the recording itself.

02

Good tools cost a lot, every month

Screen Studio, Descript, and similar apps lock the features you actually need — smart zooms, cursor tracking — behind steep subscriptions.

03

The friction just wins

The gap between "done recording" and "polished tutorial ready to share" is so wide, most developers quietly give up and never post anything.

Typical workflow today
Record screen
~2 min
Import to editor
10 min
Find click moments
25 min
Keyframe every zoom
40 min
Add cursor highlights
20 min
Export & share
~5 min
Total editing time wasted 102 min
How it works

Hit record. We do the rest.

FocusFlow runs in the background, watching your interactions. When you stop, the video is already edited.

step 01

Record your screen

Hit a global hotkey and work naturally. FocusFlow records at up to 60fps without disrupting your workflow.

step 02

Interactions get tracked

Every click, keystroke, and UI event is timestamped with exact coordinates — automatically, no manual markers needed.

step 03

Timeline is generated

Zoom keyframes, smooth camera movements, and smart cuts are built from your interaction log — zero editing required.

step 04

Export and share

FFmpeg-powered export with hardware acceleration. A polished, professional tutorial in under 30 seconds.

102 min < 3 min saved per tutorial on average

The same five-minute recording.
With and without FocusFlow.

Raw footage versus auto-edited output — the difference isn't subtle.

Raw recording
1920×1080
import React from 'react'

export function App() {
  return (
    <div className="app">
      <h1>Hello</h1>
    </div>
  )
}
5m 12s · No zoom · Static
Editing time required 102 min
Zoom events 0
Viewer engagement (est.) Low
FocusFlow output
auto-edited · 4K
import React from 'react'

export function App() {
  return (
    <div className="app">
      <h1>Hello</h1>
    </div>
  )
}
12 zoom events
Editing time required < 3 min
Zoom events 12 auto-generated
Viewer engagement (est.) High

Everything built in. Nothing locked away.

Every feature is free, open-source, and works offline. No subscription. No account required.

Screen Recording

Up to 60fps capture at configurable resolution. Lossless intermediate format so quality never degrades before export.

Automatic Zooms

Every click triggers a smooth 2× zoom, perfectly centered. No keyframes. No timeline scrubbing. It just happens.

Interaction Tracking

Mouse events, keyboard inputs, and UI state captured at native precision with timestamps and exact coordinates.

Click Indicators

Visual ripple effects are composited onto your recording automatically, so viewers always know where to look.

Smart Camera Movement

Smooth panning with easing between focal points — like a human editor, without the hours of manual work.

Fast FFmpeg Export

Hardware-accelerated encoding on modern hardware. Export a 5-minute tutorial in under 30 seconds.

Global Hotkeys

Start, pause, and stop recording from anywhere on the desktop. Never leave your flow to touch the recorder.

Session Management

Organize recordings into projects. Re-export with different settings or review full interaction logs at any time.

Fully Open Source

Every line of code is public. MIT licensed, free forever, with no feature walls or paywalls — ever.

The origin

Why FocusFlow exists

While learning new technologies and building projects, I kept wanting to create tutorials and walkthroughs. Recording was easy. Everything after that wasn't.

The tools that automated interaction-aware editing were expensive and closed source. They locked the features that actually matter — auto-zooms, click tracking, smooth camera movement — behind steep monthly fees.

FocusFlow is the tool I wanted to exist. Professional tutorial creation should be accessible to every developer, student, and open-source contributor — not just the ones who can justify a subscription.

Built on a serious stack

Rust handles frame capture and interaction logging with zero-cost native performance. Everything runs locally — your recordings never leave your machine.

Rust
Tauri v2
React
TypeScript
FFmpeg

Built in public.
Free forever.

Every commit, every decision, every roadmap item — out in the open. Fork it, contribute to it, build on top of it. FocusFlow will always be free.

What's coming next

Actively maintained. New features shipping regularly.

Audio Recording
Window Capture
Region Capture
Timeline Editor
Cursor Customization
Export Presets
macOS Support
Linux Support

In active development

Start your first
zero-edit tutorial

Free, open-source, and ready to ship in minutes.

Download for Windows
Windows 10 / 11
MIT License
Always latest release
MSI installer