Skip to content

About

Open-source macOS recorder: record lazily, ship polished AI-edited videos

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

54 Commits

Folders and files

Repository files navigation

LazyStudio 🎥✨

Record lazily. Ship polished videos.

An open-source, native macOS menu bar recorder for people who hate editing. Record your screen, camera, and mic in one click — then let AI cut the silences, add zooms, generate chapters, and write your YouTube title.

Free forever. No accounts required to record. MIT licensed.

Why

Screen Studio is beautiful but paid. OBS is powerful but complicated. Loom wants a subscription. Nothing open-source does AI auto-editing — that's the gap LazyStudio fills.

Features

  • 🖥️ Native & lightweight — Swift + SwiftUI + ScreenCaptureKit, lives in your menu bar
  • 🎙️ Screen + system audio + microphone in one recording (macOS 15 SCRecordingOutput, no virtual drivers)
  • 📷 Floating circular camera bubble (drag it anywhere, baked into the recording)
  • 🪄 AI Polish, zero setup — LazyStudio auto-detects your installed Claude Code / Codex / Gemini CLI and uses it as the editing brain. No API keys, no new accounts: your existing subscription edits your videos. Transcription runs on-device with Apple Speech. After each recording it cuts silences & retakes and writes a YouTube title + description next to the polished .mp4
  • 📂 Recordings saved to ~/Movies/LazyStudio

Install / Build

Requires macOS 15+ and Swift 6. A normal local build is universal2 (Apple Silicon + Intel), is signed ad-hoc, and needs only Xcode Command Line Tools:

git clone https://github.com/everyai-com/lazystudio
cd lazystudio
./scripts/bundle.sh
open build/LazyStudio.app

Grant Screen Recording, Camera, and Microphone permissions when prompted. Because local builds are not Developer ID signed, their automatic installer is intentionally disabled. They can still check for releases; install a published release to receive verified in-app updates. For a faster architecture-native development build, use LAZYSTUDIO_BUILD_ARCHS=native ./scripts/bundle.sh.

Signed releases

Published updates fail closed: release.sh requires an explicit Developer ID Application identity, notarizes with Apple, staples and validates the ticket, runs strict code-signing and Gatekeeper checks, and only then uploads LazyStudio.zip. The updater installs that exact GitHub release asset and requires its bundle ID and Team ID to match the running app.

Save notarization credentials once, then export the identity/profile names:

xcrun notarytool store-credentials LazyStudio-notary
export DEVELOPER_ID_APPLICATION='Developer ID Application: Your Company (TEAMID)'
export NOTARYTOOL_PROFILE='LazyStudio-notary'

The release tag must already exist remotely so the published binary is tied to an intentional revision:

git tag -s v1.2.3 -m 'LazyStudio 1.2.3'
git push origin v1.2.3
./scripts/release.sh 1.2.3 'Release notes'

Release builds are always universal2. APP_BUILD_NUMBER may be set when the bundle build number should differ from the marketing version. The script never falls back to ad-hoc signing and leaves Resources/Info.plist unchanged; version stamping happens only inside the generated app bundle.

Architecture

Sources/LazyStudio/
├── LazyStudioApp.swift   # MenuBarExtra app shell
├── RecorderEngine.swift  # ScreenCaptureKit capture → .mp4
├── CameraOverlay.swift   # Floating AVFoundation camera bubble
├── MenuView.swift        # Menu bar UI
├── SettingsView.swift    # Recording + AI settings
├── AgentCLI.swift        # Auto-detects Claude Code / Codex / Gemini CLIs
├── Transcriber.swift     # On-device Apple Speech transcription
└── AIEditor.swift        # Transcript → agent edit plan → cut & export

The plan (inspired by Cap's Studio mode and the Screen.studio clones): record raw video + event metadata (cursor positions, clicks, transcript), then apply all polish non-destructively in post via an AI-generated edit decision list.

Roadmap

  • On-device transcription (Apple Speech)
  • Agent-CLI edit plan → AVFoundation composition export (silence/retake cuts, title, description)
  • Auto-zoom from click events (records clicks while capturing, one-tap in the editor + AI auto_zoom)
  • Cinematic zoom keyframes (manual + AI, eased, live preview matches export)
  • Framed background & padding styling (8 presets, shadow, live preview)
  • Area selection (drag-to-pick region capture)
  • Draw on screen while recording — pen, marker, arrow, box, text, and a Hide tool to redact
  • GIF export
  • Configurable countdown, frame rate, and auto-stop timer
  • Window/tab-specific selection
  • Push-to-talk, remappable hotkeys
  • Chapters in export
  • Direct YouTube upload

Inspiration & prior art

Cap · QuickRecorder · Azayaka · Kap · OpenScreen

License

MIT

About

Open-source macOS recorder: record lazily, ship polished AI-edited videos

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages