https://github.com/zekiahmetbayar/mochi
A pixel-art companion that lives above your macOS menu bar — naps when idle, sweats when your CPU does, and carries your downloads.
https://github.com/zekiahmetbayar/mochi
desktop-pet macos menubar system-monitor
Last synced: 21 days ago
JSON representation
A pixel-art companion that lives above your macOS menu bar — naps when idle, sweats when your CPU does, and carries your downloads.
- Host: GitHub
- URL: https://github.com/zekiahmetbayar/mochi
- Owner: zekiahmetbayar
- License: mit
- Created: 2026-01-21T21:25:02.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-05-17T00:19:33.000Z (about 2 months ago)
- Last Synced: 2026-05-17T02:41:15.304Z (about 2 months ago)
- Topics: desktop-pet, macos, menubar, system-monitor
- Language: Swift
- Homepage:
- Size: 11.9 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

Mochi
**A tiny pixel-art companion that lives above your macOS menu bar.**
Reacts to your system. Naps when you do. Carries your downloads.
---
## Why Mochi
Alive, not animated
Mochi wanders with purpose, pauses to look around, sits to chill, and naps. No random twitching — natural cat-like rhythms.
Aware of your system
Sweats when your CPU runs hot, fattens up when RAM fills, carries a sack when downloads hit. A glanceable health monitor.
Stays out of your way
Lives above the menu bar. Optional click-through. Pin it next to your status icons. Notch-aware on M-series MacBooks.
---
## Meet the Cast

Mochi
the cat

Goldchi
the dog
Switch pets anytime from settings.
---
## Moods & Reactions
Mochi's appearance reflects what's happening underneath. All thresholds are tunable.
Wander
Picks a destination across the menu bar and strolls to it. Default state.
Look around
Tilts head after arriving somewhere — quick curiosity beat.
Sit
Settles in for a moment of calm.
Nap
Drifts off when nothing's going on. Wakes up refreshed.
Sweat
CPU is running hot. Default trigger: 70%.
Chonk
Memory's filling up. Default trigger: 75%.
Carrying
Heavy download in progress. Default trigger: 2 MB/s.
Being petted
Hover the cursor — rolls over with floating hearts.
---
## Tricks
Click
Opens a native settings popover with live system stats and a quick toggle for every reaction.
Right-click
Mochi dashes for one second toward the farther edge of the screen — a quick playful sprint.
Hover
Petting mode — Mochi rolls over and three small hearts float up.
Notch portal
On M-series MacBooks, Mochi walks into a glowing portal on one side of the notch and emerges on the other.
---
## Install
```bash
brew install --cask zekiahmetbayar/mochi/mochi
```
The build is ad-hoc signed, Modern macOS still flags it on first launch, so run this once to clear Gatekeeper:
```bash
xattr -dr com.apple.quarantine /Applications/Mochi.app
open -a Mochi
```
After 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.
---
## Build from Source
For development:
```bash
git clone https://github.com/zekiahmetbayar/mochi.git
cd mochi
swift run Mochi
```
To produce a distributable `.app` and `.dmg` locally:
```bash
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.dmg
```
The same scripts power the [`Release` GitHub Action](.github/workflows/release.yml); pushing a tag like `v1.2.3` automatically builds the DMG and publishes it to the Releases page.
---
## Settings
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.
---
## Under the Hood
- **SwiftUI** for the menu-bar overlay and settings UI.
- **AppKit** `NSPanel` bridge 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`.
## Privacy
Everything stays on your Mac. No telemetry, no network calls beyond the reachability check, no analytics.
## License
[MIT](LICENSE).