A free, open-source screen recorder for macOS that automatically makes your recordings look polished. Think Screen Studio, but free and built for the community.
Screen Studio is amazing but it costs too much if you're a developer, creator, or student who just wants clean demo videos without spending hours editing. So I built this. Record your screen, and the app automatically adds smooth zoom-ins on your clicks, nice backgrounds, rounded corners, and shadows. Then export to MP4 or GIF. That's it.
This is for builders who want to share their work without the price tag.
- Screen recording with display selection (uses ScreenCaptureKit under the hood)
- Auto-zoom on clicks with smooth easing animations (configurable speed, zoom level, easing curve)
- Styled backgrounds with gradient presets, padding, rounded corners, and drop shadows
- Mouse event tracking so the app knows exactly where you clicked
- Export to MP4 or GIF at 720p, 1080p, or 4K via FFmpeg
- Editor UI with a timeline, click markers, live preview, and an effects panel
Install FFmpeg with Homebrew if you don't have it:
brew install ffmpegInstall Rust if you don't have it:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shClone the repo:
git clone git@github.com:ryan-yuuu/open-screen-studio.git
cd open-screen-studioInstall dependencies:
npm installRun the app in dev mode:
npm run tauri devThe first build takes a few minutes because it's compiling all the Rust dependencies. After that it's fast.
When you first run the app, macOS will ask for:
- Screen Recording permission (needed to capture your screen)
- Accessibility permission (needed to track mouse clicks for auto-zoom)
Go to System Settings > Privacy & Security to grant these if the prompts don't show up automatically.
| Layer | Tech |
|---|---|
| App framework | Tauri v2 |
| Frontend | React + TypeScript + Vite |
| Backend | Rust |
| Screen capture | ScreenCaptureKit (via macOS screencapture) |
| Video processing | FFmpeg |
| UI | Tailwind CSS + Radix UI |
| State | Zustand |
src/ # React frontend (components, hooks, stores)
src-tauri/src/ # Rust backend
capture/ # Screen recording + mouse event tracking
processing/ # Zoom engine, background rendering, compositor, encoder
commands/ # Tauri IPC command handlers
models/ # Shared data types
PRs and issues are welcome. If you have ideas for features or find bugs, open an issue and let's talk about it.
MIT