A tiny pixel-art companion that lives above your macOS menu bar. Reacts to your system. Naps when you do. Carries your downloads.
| Mochi wanders with purpose, pauses to look around, sits to chill, and naps. No random twitching — natural cat-like rhythms. | Sweats when your CPU runs hot, fattens up when RAM fills, carries a sack when downloads hit. A glanceable health monitor. | Lives above the menu bar. Optional click-through. Pin it next to your status icons. Notch-aware on M-series MacBooks. |
Mochi's appearance reflects what's happening underneath. All thresholds are tunable.
| Opens a native settings popover with live system stats and a quick toggle for every reaction. | Mochi dashes for one second toward the farther edge of the screen — a quick playful sprint. |
| Petting mode — Mochi rolls over and three small hearts float up. | On M-series MacBooks, Mochi walks into a glowing portal on one side of the notch and emerges on the other. |
brew install --cask zekiahmetbayar/mochi/mochiThe build is ad-hoc signed, Modern macOS still flags it on first launch, so run this once to clear Gatekeeper:
xattr -dr com.apple.quarantine /Applications/Mochi.app
open -a MochiAfter it appears in your menu bar, click Mochi → settings popover → enable Start at login so it launches on every boot. No Dock icon, no helper process, no LaunchAgent — just a Login Item the system handles cleanly.
Update later with brew upgrade --cask mochi. Uninstall with brew uninstall --cask mochi.
Requires macOS 13 or newer. Universal binary — runs on both Apple Silicon and Intel Macs.
For development:
git clone https://github.com/zekiahmetbayar/mochi.git
cd mochi
swift run MochiTo produce a distributable .app and .dmg locally:
scripts/build-app.sh 0.0.0 # builds build/Mochi.app (universal, ad-hoc signed)
scripts/make-dmg.sh 0.0.0 # packages build/Mochi-0.0.0.dmgThe same scripts power the Release GitHub Action; pushing a tag like v1.2.3 automatically builds the DMG and publishes it to the Releases page.
Click Mochi to open the popover. From there:
- Pet — switch between Cat and Dog
- Size — Small, Medium, or Large
- Click-through overlay — let clicks fall through to apps underneath
- Pin to menu gap — park Mochi next to your status icons instead of wandering
- Start at login — launch Mochi on boot
- CPU sweat / RAM chonk / Heavy download — adjust the thresholds that trigger each mood
Live readouts for CPU, RAM, and download rate sit at the top of the popover.
- SwiftUI for the menu-bar overlay and settings UI.
- AppKit
NSPanelbridge for borderless, status-bar-level positioning. - Pure-Swift core (
MochiCore) for state machines, hysteresis filters, settings persistence — fully unit-tested and platform-agnostic. - Public Apple APIs only for system monitoring (
host_statistics64,proc_pid_rusage,SCNetworkReachability). - Notch-aware placement via
NSScreen.auxiliaryTopLeftArea/auxiliaryTopRightArea.
Everything stays on your Mac. No telemetry, no network calls beyond the reachability check, no analytics.
MIT.