Noureddine RAMDI / Capso: a modular macOS screenshot and screen recording tool with reusable Swift packages

Created Tue, 05 May 2026 16:46:42 +0000 Modified Sat, 23 May 2026 20:41:27 +0000

lzhgus/Capso

Capso tackles a common frustration for macOS users: getting a fully native, free screenshot and screen recording tool that doesn’t weigh down your system or lock you into a monolithic app. Unlike most apps in this space, Capso builds its features as 12 separate Swift packages, each handling a distinct responsibility. This modular approach is worth understanding if you’re interested in macOS app development or reusable Swift libraries.

what Capso does and how it’s built

Capso is an open-source macOS app targeting macOS 15.0 and later, written entirely in Swift 6.0 using SwiftUI for its UI layer. It aims to be a free native alternative to proprietary tools like CleanShot X and Cap. The app supports screenshots and screen recordings, along with annotation, OCR, webcam capture, and cloud sharing.

The architecture is its standout feature. Instead of cramming all features into a single codebase, Capso splits core capabilities into 12 independent Swift packages managed via Swift Package Manager (SPM). These packages include CaptureKit for screen grabbing, RecordingKit for video capture, AnnotationKit for markup, OCRKit for optical character recognition, and others.

The app itself is a thin shell combining SwiftUI and AppKit to provide the UI and glue logic. It delegates all actual work to the modular packages. This design enforces clean separation of concerns and allows each package to be reused or integrated into other projects independently.

Under the hood, Capso uses Apple’s ScreenCaptureKit framework for screen capture tasks, which is the modern, efficient API introduced in recent macOS versions. For webcam input, it uses AVFoundation, and for OCR it taps into Apple’s Vision framework. This choice means Capso relies heavily on native and well-supported Apple frameworks.

Cloud sharing is handled uniquely — instead of hosting infrastructure, Capso uses a bring-your-own-storage model that integrates with Cloudflare R2. This means users provide their own cloud storage credentials and Capso handles uploads without running its own servers, reducing operational overhead and privacy concerns.

the modular architecture as a blueprint for macOS apps

What really sets Capso apart is its commitment to modularity. In many macOS apps, features are tightly coupled, which complicates maintenance and reuse. Capso’s design extracts each core function into its own Swift package. This means CaptureKit is solely responsible for screen capture, AnnotationKit handles drawing and markup, OCRKit focuses on text extraction, and so forth.

This modular SPM setup is a good blueprint for anyone building complex macOS apps that want to maintain clean boundaries between features. It also improves build times and developer experience by isolating dependencies and responsibilities.

The tradeoff is that managing 12 separate packages requires more upfront architectural discipline and tooling support. Each package must define clear interfaces and handle versioning carefully. But the payoff is a system where components can evolve independently or be dropped into other projects without pulling in unrelated code.

The code itself is surprisingly clean given the scope. The use of Swift 6 concurrency features helps keep asynchronous tasks like capturing and OCR responsive without blocking the UI. The integration with ScreenCaptureKit and Vision frameworks is idiomatic and well-encapsulated.

Using native Apple frameworks also means Capso benefits from ongoing platform optimizations and security improvements. However, it limits Capso’s compatibility to macOS 15.0 and later, which might exclude users on older machines.

The cloud sharing design, while clever, requires users to have or set up Cloudflare R2 accounts. This can be a barrier for casual users but is appealing for privacy-conscious or developer users who prefer self-managed storage.

explore the project

The repository uses Swift Package Manager to organize the project workspace. The main app imports the modular packages as dependencies.

The README includes this installation instruction:

# Install XcodeGen if you don't have it
brew install xcodegen

There are no further setup commands provided, so to explore the project start by cloning the repo and opening the Xcode workspace. The README and individual package folders provide documentation on each module’s responsibilities and APIs.

Key packages to look at if you want to understand the core capabilities include:

  • CaptureKit: screen capture abstractions using ScreenCaptureKit
  • RecordingKit: video capture and recording logic
  • AnnotationKit: tools for annotating screenshots
  • OCRKit: text extraction using Vision framework

The main app is in a minimal SwiftUI + AppKit shell that delegates to the packages. This shell code shows how to compose modular components into a working app.

Examining the packages individually is a good way to learn how to build modular macOS apps with reusable Swift libraries. The code uses modern Swift concurrency, clean API boundaries, and native Apple frameworks throughout.

verdict: a solid modular foundation for macOS capture tools

Capso provides a well-architected, modular macOS screenshot and screen recording tool built on native Swift and Apple frameworks. Its standout feature is the extraction of core capabilities into 12 reusable Swift packages, making it a useful reference for developers interested in modular app design.

The reliance on macOS 15.0+ and Apple frameworks like ScreenCaptureKit and Vision means it targets a modern platform but excludes older macOS versions. The bring-your-own-cloud sharing model offers privacy and operational advantages but adds complexity for less technical users.

If you’re building macOS apps that need composable capture, recording, or OCR capabilities, Capso’s packages provide a solid foundation. For end users wanting a free native alternative to paid screenshot tools, it offers a compelling feature set without bloat.

The project is worth exploring if you want practical examples of clean modular Swift development, modern concurrency usage, and leveraging Apple’s native capture and OCR frameworks. Just be prepared for the learning curve around managing multiple Swift packages and the cloud storage setup.

Overall, Capso is a pragmatic open-source tool that prioritizes clean architecture and code reuse over flashy features or broad compatibility — exactly the kind of project worth studying if you build serious macOS apps.


→ GitHub Repo: lzhgus/Capso ⭐ 739 · Swift