Native macOS · Menu bar · Swift + AppKit
A dog, a horse, a soot sprite, Totoro. It trots when the machine is calm and breaks into a sprint when the system is under load — a live, ambient read on CPU, memory, GPU, network, disk, or fan, tucked into the status bar you already stare at.
Drag the system load. The animation speed is remapped live through the preset's min→max range — exactly how the app maps a 0–1 load fraction to a speed multiplier.
↑ real preset ranges from gifs/presets.json · self-throttles under Low Power / thermal / memory pressure
Unbounded rates (network / disk / swap) auto-scale to a btop-style adaptive ceiling. Every reader is unprivileged — the app only ever reads load, never adds to it.




…plus Horse (Black), Chihiro white/black, Totoro white/black, and a 4-slot-wide Totoro group. Drop in any .gif to make your own.
# default preset (horse-white), detached ./menubar-load-runner # pick a companion + drive it from GPU load ./menubar-load-runner totoro --load-source gpu # your own gif, 2 slots wide, with a label ./menubar-load-runner ~/run.gif --width 2 --overlay-text CPU # start at login — no root, no .app bundle ./scripts/install-login-item.sh chihiro
The whole app is one .swift file compiled by a zsh launcher with swiftc -O. No Xcode project, no SwiftPM package, no build system to learn.
A CADisplayLink advances frames against real elapsed time and the screen's refresh rate — smooth at any speed, and it pauses itself entirely when the item is occluded.
Keyword, menu title, slot width, and speed range all live in presets.json. Add a preset by editing data — zero Swift changes.