Skip to content
Soredemo

In development

You shipped it.
Now announce it.

Soredemo records your product demo and edits it into something worth watching. The camera moves to the control you clicked, every one of those decisions is yours to overrule, and none of it leaves your Mac.

One email, ever: the day it ships. No trial, no demo call, no drip.

macOS 26 or later · Apple Silicon · no account · no network

See how it works

ScreenCaptureKit
AXButton{412,176,96,32}AXRow{412,356,468,44}gate ▸{812,676,180,36}

Windowcapturebasicallysurvivesadisplaychange

  1. 16:9
  2. 9:16
  3. 1:1
  • demo.mp4H.264 · 1080p
  • demo-9x16.mp4HEVC · re-framed
  • demo.movProRes 4444
  • demo.giflooped · sized first

framing.plan · review pending

Zoomed to the pointer, because nothing was under this click.

cites 3 observations · review pending · your correction is never re-derived

Approve

Cursor is not baked in — it is drawn at composite timeCut a clip and everything after it moves — the ripple is not a modeNothing leaves this Mac — the app has no network code at all

Illustration of the data model, not a screenshot

Not released yet. The recorder and its editor are finished, signed and notarised. There is no download, and the waitlist gets one email the day that changes.

The gap

Shipping got faster. Announcing didn’t.

Coding agents made shipping three to five times faster. The demo that shows what shipped still costs an afternoon.

The real competitor is the demo that never got made. It has roughly 90% market share and no product team.

The output

The part after you stop recording

A recorder hands you a file and stops. Everything that makes it worth watching — the zooms, the crops, the pacing — is still ahead of you.

recording stops here · what happens next

A screen recorder

5 steps, all yours

  • export
  • zoom it in post
  • keyframe every move
  • crop 9:16
  • crop 1:1

vs

Soredemo

1 step, and it is review

  • framed on the way in
  • review
  • export

Both bars are steps, not seconds. Two of the three on the right are the machine’s; the one that is yours is the one where you can disagree with it.

The two crops are one step here rather than two, because 9:16 and 1:1 are re-framed against their own coverage instead of cut out of the 16:9 — a 16:9 recording fills about a third of a 9:16 frame, so a control that was legible landscape is not legible cropped.

What it does

Four steps, one recording

This is the whole product. Everything else in the feature list exists to make one of these four steps trustworthy.

01

Record

A display, a window you point at, or a rectangle you drag out — with system audio, a microphone, and a camera whose self-view is on screen before the countdown starts.

02

Frame

The camera moves to the accessibility control under each click. The button, not the pointer. Spring motion that settles without overshoot.

03

Review

Every zoom shows where it came from, and every refusal names the gate that fired. Disagree with any of it — your decision is never re-derived away.

04

Edit and export

Cut, re-speed, drop dead air, crop, caption, redact. 16:9 / 9:16 / 1:1. H.264, HEVC, ProRes or GIF, at a size estimated before you commit to it.

Red on black, encoded and read back. The last red column should return 255.
  • H.264 High154/255
  • HEVC Main154/255
  • ProRes 422155/255
  • ProRes 4444255/255

Everything but ProRes 4444 is 4:2:0 by the time the encoder sees it — including ProRes 422 — and smears the edge by about a hundred levels. Measured, not assumed.

The pointer is not in the recording. It is drawn at composite time from what was observed — which is the only reason its size, its shape and its click effects are still yours to change afterwards.

The thesis

One recording is evidence. Everything else is derived from it.

Most features in this product exist to make derivation trustworthy, not to make editing powerful. That is why the feature list looks nothing like a screen recorder’s.

Evidence and derivation

The recording is the only thing treated as fact. Every other value — a zoom target, its depth, a caption’s word times — is derived, and carries its origin, its review state, and the evidence it came from.

The producer-value rule

An authored override always wins over a derived value, and is never silently replaced. A project saves what you decided and nothing it can work out again, so reopening it re-derives the framing and lays your corrections back on top — a recording you fixed last month gets this month’s better answer without losing the fix.

Every rejection names its reason

Automatic framing takes its zoom target from the accessibility control under each click. When the control doesn’t pass the gates, it falls back to the pointer and says which gate fired.

  • hitTestReturnedNothing
  • noFrameRecorded
  • staleObservation
  • notComparable
  • doesNotContainTheClick
  • degenerateRectangle
  • partlyOffscreen
  • tooLarge
  • bestCandidateOnTheTruncationBoundary

Nine of them, each named beside the click it fired for, in plain language next to the case that was stored. Not silence, and not a shrug.

click-07.zoomauthored · approved

Widened to the whole toolbar. The gate framed the button correctly and the button is four points tall — correct is not the same as legible.

origin
authored — you resized this
review
approved
derived
AXButton “Export” — superseded, kept
on re-derive
untouched

Illustration of the data model, not a screenshot.

The edit

Every dial reports where its value came from

An editor decides how the result looks. This one decides how it was framed — and says, underneath, what framed it and whether anyone has signed it off.

demo.mov

Illustration of the data model, not a screenshot.

The difference

Where this stops being another screen recorder

Auto-zoom and native macOS capture are table stakes in 2026. What a recorder does when its automatic decision is wrong is not.

The moat

Every value traces back to the recording

This is the part that is hard to copy. A zoom is not a guess about where you were looking — it is a node with parents, and you can walk back up it until you reach the click it came from.

  1. evidenceclick @ 00:04.120
  2. controlAXButton “Record”
  3. decisionframed · depth 2.75
  4. outputclick-07.zoom

And the chain runs one way. Move that last node yourself and it becomes authored — re-derive as often as you like, your correction stays put.

Aspect

Re-framed, not cropped

Each aspect is solved against its own coverage. The subject stays centred; the frame does the moving.

A 16:9 recording covers about a third of a 9:16 frame, so the zoom that was right landscape is not right portrait. The frame is solved again.

The shape

It lives in the menu bar

soredemo

A whole display · Point at a window · Drag out an area

RecordCamera

No window at launch and no Dock icon. A recorder is used from inside whatever is being demonstrated, and a window you open to press Record is a window covering the thing you came to record.

The output

Four codecs, and one of them is the point

  • H.264
  • HEVC
  • ProRes 422
  • ProRes 4444
  • GIF

Everything but ProRes 4444 is 4:2:0 by the time the encoder sees it, and smears a red edge on black by over a hundred levels. That is the coloured fringing you recognise from every screen recording. Measured, not assumed.

The ground

There is nothing to opt out of.

Not “we don’t sell your data”, and not “only what you approve leaves”. The app contains no networking code and the signed build carries no network entitlement. Recording, framing, transcription and export all happen on the machine in front of you.

  • no account
  • no telemetry
  • no cloud
  • no network entitlement

An assessment of the category made by the person building this. Judge it against the tools you already use.

The platform

It is a Mac app.

Swift 6 and SwiftUI, first-party frameworks throughout. No Electron, no bundled browser engine, no web view pretending to be a window.

MacBook Pro, Apple Silicon.
The app runs here and nowhere else.

Built on

  • ScreenCaptureKit
  • AVFoundation
  • VideoToolbox
  • Core Image
  • Metal
  • Core Media
  • Accelerate
  • SpeechAnalyzer
  • Core Graphics
  • Swift Testing
  • SwiftUI

All first-party Apple frameworks. Nothing on that list is a dependency you would have to trust separately.

System
macOS 26 or later
Chip
Apple Silicon
Capture
Up to 4K · rates read off your Mac
Export
H.264 · HEVC · ProRes 422 / 4444 · GIF
Account
None
Network
None — no code, no entitlement
Licence
MIT · source not public yet
Price
Free

Privacy

It runs on your machine

Recording, framing, transcription and export are all local. Nothing reaches the network, because there is no code in the app that could.

5 stay on your machine · nothing leaves it

  • Recording — stays on disk, in a folder you chose
  • Framing and review — on device
  • Transcription — on device, no model to download
  • Rendering and export — on device, on the GPU
  • Projects — a package on your Mac, opened by this app alone
  • And nothing in the other column. There is no networking code in the app and no network entitlement on the signed build.

This describes the product. What this website collects — one email address, no cookies, no analytics — is in the Privacy Policy.

Who it’s for

Who this is for

DevRel at developer-tool companies

Showing what shipped is literally the job, and the demo is the part that costs a day. This is the part of that day that can be given back.

Seed and Series A SaaS with no marketing team

The engineer who shipped it is the one recording it, between two other things. It has to be near-zero effort or it gets dropped in week three.

Open-source maintainers

Highest enthusiasm about the problem, lowest willingness to pay. It is MIT and it is free, so that question does not come up.

Not for anyone who wants a full editor. This one has four operations and no ripple, no multicam and no grading, on purpose — a demo does not need them, and every one of them is a place to spend an afternoon.

FAQ

Questions worth asking

Is there anything to download?

Not yet, and what is missing is the release rather than the software. The recorder and its editor are finished: record, automatic framing, a review panel for every framing decision, cut and speed and dead-air removal, crop, camera overlay, titles, redactions, on-device transcription with word-timed captions, and export. The build is signed and notarised. Join the waitlist and you get one email the day it ships.

What does it run on?

macOS 26 or later, on Apple Silicon. Swift 6.4 and SwiftUI, first-party frameworks throughout: ScreenCaptureKit for capture, AVFoundation and VideoToolbox for the export, Core Image on a Metal context for the stage, the accessibility APIs for what sits under each click. The interface is English and 繁體中文. No Electron, no bundled browser engine.

Does anything leave my machine?

No. Not "only what you approve" — nothing. There is no network code anywhere in the app and no network entitlement on the signed build, so there is nothing to opt out of, no account to make and no telemetry to disable. Recording, framing, transcription, rendering and export all run on your Mac.

Is it open source?

The licence is MIT. The repository is not public yet, so there is nothing to read today, but the licence is settled rather than pending — when it opens, it opens under MIT, and the NOTICE file that ships with it names every project the code was read from and what was taken from each.

Does it post to X or Instagram?

No, and that is a decision rather than a gap. What Soredemo does is the part that was actually hard: making a recording worth posting. You post it.

Will it edit videos I already have?

No. The recording is evidence. Framing depends on the pointer path, the click positions and the accessibility data captured alongside the frames, and an imported video has none of that.

Why the name?

それでも — soredemo, “even so.” You shipped it. Now announce it.

Waitlist

Hear when there’s something to use

It is free, it is MIT, and it is finished. What is left is shipping it.