Here's a dumb problem that bugged me for years: I couldn't clean my MacBook screen properly.
Every time I grabbed a cloth to wipe the display, I'd accidentally brush the keyboard or trackpad. The screen would wake up, show my wallpaper, and suddenly I couldn't tell where the smudges were anymore. I'd end up "blind-wiping" and hoping for the best. Shutting down the whole machine just to wipe a screen felt absurd.
Then there was the cat problem. I saw complaints in App Store reviews: people watching videos on their Macs, and their cats would walk across the keyboard — pausing the video, switching tabs, opening Spotlight. Classic cat behavior, zero good solutions.
So I built CleanMyScreen.
Three modes, one tiny app:
| Mode | What Stays Visible | What Gets Locked |
|---|---|---|
| Cleaning | ||
| Pure-black overlay on all displays | Keyboard + pointer | |
| Pet / Kid | ||
| Your current video or app | Keyboard + trackpad | |
| Selective | ||
| Your desktop | Any combination you choose |
Every session has a 3-second countdown before locking, an optional auto-timeout, and a 3-second Escape hold as an emergency unlock.
No Electron. No web views. No accounts. No telemetry. No network calls at all. The app literally cannot phone home.
Here's the part that still blows my mind.
I'd had this idea sitting in my backlog for over a year. It wasn't complicated conceptually, but between work and other projects, I never prioritized it — partly because the monetization path was unclear for something this simple.
Then I had some Codex credits about to reset, so I thought: why not just ship it?
The entire functional app was built in under 3 hours. Codex handled the SwiftUI views, the IOKit device enumeration, the overlay window management, and the brightness control logic. I spent the remaining time fine-tuning UX details — countdown animations, the emergency unlock flow, making sure device seizing was properly cleaned up on session end.
This is exactly the kind of project where AI coding tools shine: the requirements are clear, the scope is tight, and the individual pieces (IOKit APIs, CGDisplay functions) are well-documented but tedious to wire together manually.
CleanMyScreen is MIT-licensed and works on both Apple Silicon and Intel Macs.
🔗 GitHub: github.com/opensource-works/CleanMyMac
You can build from source with just the Swift command-line tools — no Xcode project needed:
./Scripts/run-tests.sh
./Scripts/build-app.sh
open dist/CleanMyScreen.app
If you have ideas, bugs, or feature requests, open an issue. I'd especially love input on: