breathe-a-min
v1.2.1
Published
A 60-second ambient sound bath for your mind
Maintainers
Readme
Your screen fades to black. Ambient audio fills your headphones. For one minute, everything stops.
Install
npm install -g breathe-a-min && breathe-a-minOr grab the app → macOS .dmg · Windows .exe
How it works
Click the menu bar icon. The rest happens on its own.
| | | |:--|:--| | 🌑 Fade | Screen goes dark. A gong rings. The world disappears. | | 🎧 Sound | A random ambient track plays. Headphones recommended. | | 🧘 Breathe | Close your eyes. One minute. That's it. | | 🫧 Return | "Welcome back." Quick feedback. Fade out. |
Press Esc anytime to exit.
Menu bar
Your stats and settings live in the tray popup.
| | | |:--|:--| | ◉ Minutes | Total time spent breathing | | ◉ Helped | Times it actually slowed you down | | 🔊 Volume | Adjust ambient audio level | | ⌨️ Shortcut | Custom global hotkey — click to remap |
Default shortcut: ⌘ Shift B (mac) · Ctrl Shift B (win)
First launch
A cinematic onboarding plays once — logo blooms in, a gong sounds, and the app settles into your menu bar with a gentle "I live here, come take a breath."
Platforms
| | Platform | File |
|---|----------|------|
| 🍎 | macOS (Apple Silicon) | .dmg |
| 🪟 | Windows (x64) | .exe (portable) |
Build from source
git clone https://github.com/heynaavi/breathe.git
cd breathe && npm install && npm startPackage: npm run build (macOS) · npm run build:win (Windows) · npm run build:all (both)
Release: npm run release patch — bumps version, builds, pushes to GitHub + npm in one command.
Project structure
breathe/
├── main.js # Electron main process
├── src/
│ ├── experience.html # Fullscreen overlay
│ ├── experience.js # Session logic + animations
│ ├── preload.js # Context bridge
│ ├── tray-popup.html # Menu bar popup + settings
│ └── onboarding.html # First-launch cinematic
├── assets/
│ ├── audio/ # Ambient tracks (~1 min each)
│ ├── gong.mp3 # Onboarding gong
│ └── icons/ # App + tray icons
├── scripts/
│ ├── release.js # One-command release
│ ├── postinstall.js # npm postinstall wrapper
│ └── install-binary.js
└── bin/
└── breathe.js # CLI launcher