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.

I

It waits.

The app lives in your system tray. No dock icon, no window. It counts the minutes between reminders — nothing else.

II

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.

III

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.

IV

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.

macOS Security Warning: Because Stretch is a free app, it skips the $99 Apple Developer fee. Whether you use Homebrew or download manually, macOS will show an "Unidentified Developer" or "Damaged App / Move to Trash" warning when you try to open it.

How to fix this (Two Options):

Option 1: The Settings Way (Recommended for most)
  1. Open Stretch from your Applications folder.
  2. You will see a warning. Click Cancel.
  3. Open your Mac's System Settings and go to Privacy & Security.
  4. Scroll down to the "Security" section and click Open Anyway next to Stretch.
Option 2: The Terminal Way (Fastest)
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.
Tonight, after 18:00 Quiet
Full-screen Zoom call Paused
Focus Assist on Paused
Idle for 10 min Paused
Back at your desk Next in 24 min

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.

Stretch
Next reminder in 24 min

Today

3/8
5 day streak
Goal 8 · Cadence 30 min v1.0.0

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.

  • Next in 24 min
  • Open Stretch
  • Reminders
  • Snooze 15 min
  • Snooze 1 hour
  • Stretch now
  • Quit Stretch

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.

  1. Step one

    How often?

    Restless, balanced, deep focus, hourly — pick a cadence that won't break your flow.

  2. Step two

    Quiet hours.

    No reminders after hours or during Focus Assist. On by default — off with one click.

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

Under the hood

A small, honest app.

One minute. Every thirty.

Mac (Apple Silicon) Free · MIT · no accounts Mac (Intel) Free · MIT · no accounts Download for Windows Free · MIT · no accounts

Not medical advice. Stop if it hurts.