GitHub
X
YouTube
reactable · mac

Present live.
Record once.

Interactive decks — live apps, clips, prose — with your face and audio on metal. Preview and capture share the same stage.

Agents optional · open source · local capture

the take
stage.mov

Your deck lands here — rounded frame, no browser chrome.

One recording → composite with PIP, click zoom, captions, and aspect exports.

use cases
01

Product demo

Embed a live app or dev server in-slide. Click through while you talk.

02

Reaction take

Drop in YouTube clips, record commentary, swap hi-res source in post.

03

Agent draft

Let Claude author deck.work — you hit record on the real stage.

author

deck.work

Version-controlled slides in .work — prose, iframes, video, client islands, speaker notes.

preview = capture

The stage

Native chromeless window — drag strip, 1280×720 rect, reveal.js underneath. What you see is what records.

  • reactable stage open
  • Not a browser tab
  • Same WKWebView on metal
control

The bar

Floating always-on-top surface — stage or window mode, cam, mic, slides, record.

  • ⌘R record
  • Speaker notes
  • Deck picker
  • Cam bubble
export

Ship the take

16:9YouTube · talks
9:16Reels · Shorts
1:1Social
SRTCaptions

Fast lane: composite.py · Rich lane: HyperFrames

get started

Download.
Record.

Mac app + showcase deck included. No agents required — copy the skill when you want them.

  • Free while we build
  • github.com/shinyobjectz/reactable
0:00
claude code · terminal
# install cli + agent skill (optional)
$ npm i -g reactable-cli
$ reactable skills install --user
→ ~/.cursor/skills/reactable
$ reactable stage open --deck showcase
→ native stage (same surface as recording)
$