The film · 1:40 · no sound

Scan. Grade. Reap.

Ninety seconds of the tool thinking out loud, with nothing to listen to. Every number, colour and rule name on screen is one the real thing produces — the film is rendered from the same code the app runs.

There is no audio track — not a silent one, none at all. Nothing to unmute.

Eleven shots

    The same film, in words

    A film with no narration has nothing to caption, so here is what it shows, in order.

    A full disk
    A capacity bar fills to the end of its track. The number beside it falls from 128.0 GB available to 4.1.
    What is actually in there
    That one bar breaks at eight points and the pieces fall into eight labelled rows — Xcode DerivedData, 41 copies of node_modules, ~/Library/Caches, Docker, cargo, simulator runtimes, pip, Homebrew. They total 83.5 GB.
    Why you haven’t deleted it
    A shell prompt types rm -rf ~/Library/ Caches. A box snaps around the single space between / and Caches, the frame flashes red once, and the command drains to grey. That space turns the command into "delete my entire Library". Fear is the correct response.
    Every finding wears its risk
    Real cachereaper scan output prints line by line. Each tier header lands in bone for a frame, then snaps to its colour as its total counts up: low 5.0G, medium 3.2G, high 1.8G. The high-risk entry carries a note preferring rustup toolchain uninstall over deletion.
    The three tiers
    Low regenerates itself and costs nothing. Medium is reinstallable but costs time or bandwidth. High is stateful or expensive and gets reviewed one at a time. Every tier carries a "get it back" line.
    A folder must prove what it is
    Two columns of the same three folder names. On the left a marker slides in beside each — Cargo.toml, pyvenv.cfg, already git-ignored — and only then does the name take colour and read claimed. On the right, no marker, so all three read skipped. When the markers leave, the colour drains with them.
    The scan
    The mark bobs while a counter runs to 412,908 files and 61.3 GB seen. Underneath: nothing is read outside the folder you chose.
    Big, and safe to delete
    The scan lifts away to reveal a treemap that paints in entirely grey — what is big. A sweep then saturates only the claimed blocks into their tiers — what is safe. A click drills into Projects, and a box-drag takes the target folder, not its four thousand files.
    Seven guards
    The seven rules that stand between you and a bad day. A scythe swings at .ssh and stops dead on the blocklist — also .git, .gnupg, Keychains, iCloud, Dropbox.
    The reap
    Low-risk blocks dither out, then medium, each leaving its outline behind so the emptied space reads as reclaimed rather than missing. The one high-risk block is ringed in bone and left standing. 47.6 GB comes back; the capacity bar from the first shot retreats, and its red retires.
    cachereaper
    The mark assembles from its own pixels, a row at a time, under the wordmark. Free and open source, MIT, Apple silicon and Intel, with a CLI for Linux too.

    Reap what your tools have sown.