A native macOS menu bar app that nudges you to change posture throughout the day, rotating between standing, sitting, and any custom positions you add on a configurable, randomized schedule, with notifications at each change.
brew tap human37/shifty
brew install human37/shifty/shifty
brew services start human37/shifty/shiftybrew install --HEAD ./Formula/shifty.rb
brew services start shiftybrew services list | rg shifty
brew services restart shifty
brew services stop shiftyShifty writes config and runtime state here:
~/Library/Application\ Support/Shifty/config.json
~/Library/Application\ Support/Shifty/state.jsonDefault config.json is:
{
"options": [
{ "label": "STAND", "icon": "🧍" },
{ "label": "SIT", "icon": "💺" }
],
"intervalMinMinutes": 50,
"intervalMaxMinutes": 70
}To add more options or change interval:
- Add options from menu:
Options->Add Option...(saved automatically), or editconfig.jsondirectly. - Restart service:
brew services restart shifty.
state.json persists current option, queue, and next-change timestamp, so after restart/login Shifty resumes the same option and same time window.
Use the release script:
./scripts/release.sh 0.1.1The script will:
- Push source updates to
human37/shifty - Create and push git tag
v0.1.1 - Create a GitHub release (if missing)
- Update
human37/homebrew-shiftyformulaurlandsha256 - Push tap updates so users can
brew upgrade shifty