CleanMyOwn
A macOS cleaner built as an excuse to learn Swift 6 in depth: SwiftUI, Authorization Services and memory reads via Mach syscalls — no Electron, no daemons, no telemetry.
Why
Almost every popular macOS cleaner is an Electron app with a background daemon and telemetry sending data who knows where. It bothers me, especially in an app that sells itself as a "cleaning" tool.
CleanMyOwn is my answer: a native app, a single binary, no persistent services, no network beyond what the user starts. Building it was also my excuse to really dig into Swift 6 and macOS internals.
What it does under the hood
Scanning across 11 categories of junk: caches, logs, old installers, leftover support for uninstalled apps, orphan containers, etc. Each category has its own detector with explicit criteria — none of that "clean everything" without knowing what.
Orphan detection by bundle ID. Cross-references Application Support, Containers and Preferences directories against actually installed apps. Anything left over is an orphan — and is shown to the user before being touched.
Three-step duplicate pipeline. Group by size first (cheap), then hash the first 1MB (fast for ruling out negatives), and only then a full SHA-256 to confirm. Handles hundreds of thousands of files without choking the machine.
Persistent admin session via Authorization Services. The user authorizes once, not on every operation that needs permissions.
Memory reads via Mach syscalls. host_statistics64 directly, not parsing vm_stat output. Faster, more correct, and makes it clear we’re playing with the real APIs.
What I learned
That Apple’s native ecosystem is still radically better for desktop apps than anything hybrid. SwiftUI closed most of the productivity gap with React; the remaining difference is now milliseconds and megabytes.
And that learning a new language by building something concrete you’d actually use is 10× better than any tutorial. My machine is cleaner today and I understand Swift 6.