For macOS & Windows · Local only · MIT
A small nudge,
every thirty minutes.
Stretch lives quietly in your menu bar or system tray and walks you through a one-minute movement — ten desk-friendly stretches, one breath-paced overlay, one line of instruction. It knows when you're presenting, idle, or off the clock, and it stays quiet then.
macOS 12+ & Windows 10/11. Open source. No accounts, no telemetry, no ads.
This is what a reminder looks like
One minute.
One breath ring.
One stretch.
When the thirty minutes are up, your screen softens and a single card appears at the center. A breathing ring paces your inhale and exhale; a line-art figure shows the shape of the movement. You log it with Enter, snooze with Esc, or skip with S. Then you're gone.
Tap a name to preview it. Auto-rotates every twelve seconds on desktop; stays still on mobile and reduced-motion settings.
How it works
Four things, in order.
It waits.
The app lives in your system tray. No dock icon, no window. It counts the minutes between reminders — nothing else.
It dims the room.
When the thirty minutes are up, the screen softens and one card appears at the center. One stretch, one minute, one line of instruction.
It lets you go.
Enter to log. Esc to snooze five minutes. S to skip. Click outside — also a snooze. It never holds you hostage.
It logs your minute.
One tick toward today's goal. A warm sparkline for the last seven days. A streak that only asks for one stretch a day to keep.
macOS Installation
Two ways to get it.
Stretch is distributed as an Ad-Hoc signed app. Choose the method that fits your workflow.
Homebrew Recommended
The cleanest way to install and keep Stretch updated. This automatically handles the correct architecture for your Mac.
brew tap praveensankar969/stretch
brew install --cask stretch
Manual Download
Download the disk image directly from GitHub. Choose between Apple Silicon or Intel.
How to fix this (Two Options):
Option 1: The Settings Way (Recommended for most)
- Open Stretch from your Applications folder.
- You will see a warning. Click Cancel.
- Open your Mac's System Settings and go to Privacy & Security.
- Scroll down to the "Security" section and click Open Anyway next to Stretch.
Run this command in Terminal after installing to remove the macOS quarantine flag:
xattr -cr /Applications/Stretch.app
Not one more thing to manage
Stretch is quiet by default.
Reminders are paused during your quiet hours, while Windows Focus Assist is active (or during macOS Do Not Disturb in a future release), when a full-screen application is focused, and when you've stepped away from the keyboard for ten minutes. Nothing to configure — though you can, if you want to.
- Default quiet hours 18:00 → 09:00, editable to the minute.
- Skips Focus Assist (Windows) via the OS do-not-disturb signal.
- Skips full-screen apps — games, Zoom, Keynote, anything.
- Auto-pauses after 10 minutes of keyboard or mouse idle.
- Silent by default. Sound is strictly opt-in.
Your day at a glance
A tiny dashboard.
No guilt.
Open Stretch from the menu bar or tray and you'll see today's progress, a seven-day sparkline, and your current streak. A streak asks for one stretch a day to keep — it's here to encourage, not to shame.
Today
Everything, one right-click away
The tray menu.
Stretch has no dock icon, no floating window, no browser tab. It lives next to your clock. Right-click the icon and you have every control the app exposes.
First run, then forgotten
Set it once. We mean it.
Three screens on first launch. Pick a cadence. Set your quiet hours. Decide whether it launches at login. That's the whole setup — you never have to open settings again.
-
Step one
How often?
Restless, balanced, deep focus, hourly — pick a cadence that won't break your flow.
-
Step two
Quiet hours.
No reminders after hours or during Focus Assist. On by default — off with one click.
-
Step three
Launch at login.
Starts hidden in the menu bar or tray — appears only when you open it. No dock clutter.
Local only
Your data stays on your machine.
Stretch has no server. It does not phone home, load remote scripts,
fetch fonts at runtime, collect anonymous analytics, or include a
crash reporter. Your settings and streak live in one local JSON file
(%APPDATA%/Stretch/ on Windows,
~/Library/Application Support/Stretch/ on macOS),
trimmed automatically to the last 365 days.
-
No account
Nothing to sign up for. Nothing to sign in to.
-
No server
There is no backend. The app never opens a socket on your behalf.
-
No telemetry
No analytics SDK. No crash reporter. No error beacon.
-
No remote scripts
Fonts, Lottie, everything — self-hosted and shipped inside the installer.
Under the hood
A small, honest app.
- ~95–105 MBInstalled size
- Electron 30Runtime
- MITLicence
- DMG · NSISInstaller
- Every 6 hrsAuto-update (Win)
- macOS 12+ & Win 10/11Support
One minute. Every thirty.
Mac (Apple Silicon) Mac (Intel) Download for WindowsNot medical advice. Stop if it hurts.