An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

Mochi



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).