mysa

June 22, 2026 · View on GitHub

mysa

mysa

A tiny macOS menu bar app that makes you take a breather.

You press a hotkey, the screen goes frosted and dim, a small orb breathes in and out in a notch, and a dumb developer joke writes itself across the screen in handwriting while you breathe. Press escape and you are back to work. That is the whole thing.

Demo

https://github.com/user-attachments/assets/a9f61829-4e2f-4e2d-b1bc-b4b1f55a2a97

Why

Just a glorified pause app.

Download

Grab the latest build from the releases page, unzip it, and drop Mysa.app in /Applications.

It is not notarized (I am not paying Apple ninety nine dollars a year for a breathing app), so macOS will refuse to open it the first time. Two ways around that:

  • Right click the app, hit open, then confirm in the dialog. You only do this once.
  • Or in the terminal: xattr -dr com.apple.quarantine /Applications/Mysa.app

Build it yourself

git clone https://github.com/alishansnsn/mysa.git
cd mysa
./package.sh

package.sh builds a release binary, wraps it in Mysa.app, signs it ad-hoc, and copies it into /Applications. On first launch it adds itself as a login item. Run the script again whenever you want to update.

If you just want to poke at the code, swift build and swift run work too. It is a SwiftPM executable, no Xcode project, one dependency.

Using it

  • Look for the gradient m in your menu bar. Click it to start breathing.
  • The default hotkey is Control-Option-Command-B. You can change it: right click the icon, change shortcut.
  • Right click the icon for the menu: start or stop, pick a pattern, add your own, change the shortcut.
  • While you are breathing, the sliders icon in the notch opens settings without leaving the breath. Tint, blur, grain, ambient, gradient, and which pattern. Drag things and the overlay changes live.
  • Escape, the x, or the hotkey again to leave.

It swallows mouse and keyboard input to other apps while it is up. That is on purpose, otherwise I just go straight back to typing.

Breathing patterns

Seven built in: 4-7-8, box, coherent, triangle, extended exhale, diaphragmatic, pursed lip. You can also build your own with the steppers in the notch. Internally it is just a list of (phase, seconds) that loops, so any rhythm works the same way.

It is a relaxation toy, not a medical device.

How it works

A few notes if you are reading the source.

The overlay is plain CoreAnimation layers, not Metal. Blur is the alpha of an NSVisualEffectView, the tint is a CAGradientLayer, the grain is one pre-rendered noise tile. Nothing renders per frame, so it costs basically nothing to leave on screen. Ambient mode just clips those layers with a static gradient mask so the effect sits along the bottom and fades up.

The handwriting is real Bézier strokes revealed with SwiftUI's trimmedPath, which is the same idea as SVG stroke-dashoffset. The glyph shapes and kerning are ported from kumailnanji/letters. It draws on while you inhale and undraws while you exhale, kept in sync with the orb through a shared state object because the orb and the text live in two different windows.

The global hotkey goes through KeyboardShortcuts, which registers a Carbon hotkey under the hood, so there is no accessibility permission prompt. It just works system wide.

Requirements: macOS 14 or newer, Swift 6.

Credits

License

MIT. See LICENSE. Do whatever you want with it.