# hovancik/stretchly

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hovancik-stretchly).**

5,905 stars · 512 forks · JavaScript · bsd-2-clause

## Links

- GitHub: https://github.com/hovancik/stretchly
- Homepage: https://hovancik.net/stretchly
- awesome-repositories: https://awesome-repositories.com/repository/hovancik-stretchly.md

## Topics

`breaks` `bsd` `electron` `linux` `longer-breaks` `macos` `reminder` `windows`

## Description

Stretchly is a cross-platform desktop break reminder application that helps prevent eye strain and repetitive strain injury by periodically prompting you to take microbreaks and long breaks. Built with Electron, it runs on Windows, macOS, and Linux with a consistent interface, and can be controlled both through its graphical interface and via terminal commands.

The application distinguishes itself through extensive customization and context-aware behavior. You can adjust break intervals, durations, sounds, and the content displayed during breaks to match your personal workflow. Stretchly automatically pauses reminders when it detects user inactivity, when the system is in Do Not Disturb mode, when specific applications are running, or until a scheduled morning hour. It also supports directing break windows to a specific monitor, setting global keyboard shortcuts, and hiding the tray icon for a minimal interface.

Beyond the core break scheduling, Stretchly offers features for postponing or skipping individual breaks, configuring separate schedules for microbreaks and long breaks, and selecting sound themes with volume control. A visual health mode adds a vignette effect that responds to break completion, and sponsor authentication with GitHub or Patreon enables preference synchronization across devices. The application provides command-line control for managing breaks and preferences without the graphical interface.

## Tags

### Business & Productivity Software

- [Actionable Reminders](https://awesome-repositories.com/f/business-productivity-software/personal-tracking-applications/habit-trackers/actionable-reminders.md) — Periodically reminds you to take microbreaks and long breaks to prevent eye strain and repetitive strain injury.
- [Timed Break Reminders](https://awesome-repositories.com/f/business-productivity-software/timed-break-reminders.md) — Runs timed mini and long breaks at configurable intervals with advance notifications. ([source](https://cdn.jsdelivr.net/gh/hovancik/stretchly@trunk/README.md))
- [Break Customization Tools](https://awesome-repositories.com/f/business-productivity-software/break-customization-tools.md) — Edits break content, sounds, timing, and visual effects to match personal preferences and workflow needs.
- [Break Postponement Features](https://awesome-repositories.com/f/business-productivity-software/break-postponement-features.md) — Delays or skips a break notification with a single action, including a short grace period before the break is dismissed.
- [Break Reminder Schedulers](https://awesome-repositories.com/f/business-productivity-software/break-reminder-schedulers.md) — Configures timed microbreaks and long breaks with custom intervals to prevent screen fatigue and encourage regular rest.
- [Break Schedule Customizers](https://awesome-repositories.com/f/business-productivity-software/break-schedule-customizers.md) — Adjusts the duration and interval of mini and long breaks through a preferences interface. ([source](https://cdn.jsdelivr.net/gh/hovancik/stretchly@trunk/README.md))
- [Break Timing Adjusters](https://awesome-repositories.com/f/business-productivity-software/break-timing-adjusters.md) — Adjusts the interval and duration of both microbreaks and long breaks to fit your workflow. ([source](https://hovancik.net/stretchly))
- [Context-Aware Break Pausers](https://awesome-repositories.com/f/business-productivity-software/context-aware-break-pausers.md) — Automatically pauses the break schedule during inactivity, Do Not Disturb mode, or when specific applications are running.
- [Customizable Break Schedulers](https://awesome-repositories.com/f/business-productivity-software/customizable-break-schedulers.md) — Adjusts break intervals, durations, sounds, and ideas to match your personal workflow.
- [Inactivity-Aware Break Pausers](https://awesome-repositories.com/f/business-productivity-software/inactivity-aware-break-pausers.md) — Automatically pauses reminders when you are away from the keyboard or when specific apps are running.
- [Long Break Schedulers](https://awesome-repositories.com/f/business-productivity-software/long-break-schedulers.md) — Triggers a longer break after a set number of microbreaks for a more extended rest period. ([source](https://hovancik.net/stretchly))
- [Microbreak Schedulers](https://awesome-repositories.com/f/business-productivity-software/microbreak-schedulers.md) — Prompts a short break every few minutes to encourage regular stretching and prevent prolonged sitting. ([source](https://hovancik.net/stretchly))
- [Application-Aware Break Pausing](https://awesome-repositories.com/f/business-productivity-software/application-aware-break-pausing.md) — Pauses or resumes the break schedule automatically based on which applications are currently running. ([source](https://cdn.jsdelivr.net/gh/hovancik/stretchly@trunk/README.md))
- [Break Postponement Controls](https://awesome-repositories.com/f/business-productivity-software/break-postponement-controls.md) — Delays a break once for a set duration or skips it entirely after a short waiting period. ([source](https://cdn.jsdelivr.net/gh/hovancik/stretchly@trunk/README.md))
- [Inactivity-Based Break Pausing](https://awesome-repositories.com/f/business-productivity-software/inactivity-based-break-pausing.md) — Pauses the break schedule when the computer detects no user activity for a set period. ([source](https://cdn.jsdelivr.net/gh/hovancik/stretchly@trunk/README.md))

### Development Tools & Productivity

- [Contextual Work Reminders](https://awesome-repositories.com/f/development-tools-productivity/contextual-help-systems/contextual-work-reminders.md) — Alerts you periodically to pause work and step away from the screen to prevent strain and fatigue. ([source](https://hovancik.net/))
- [Command-Line Interface Controllers](https://awesome-repositories.com/f/development-tools-productivity/command-line-interface-controllers.md) — Manages break schedules and application preferences through terminal commands without using the graphical interface.
- [Command-Line Window Controllers](https://awesome-repositories.com/f/development-tools-productivity/command-line-window-controllers.md) — Sends commands to a running instance to manage breaks, open preferences, or get help via the terminal. ([source](https://cdn.jsdelivr.net/gh/hovancik/stretchly@trunk/README.md))
- [Global Keyboard Shortcuts](https://awesome-repositories.com/f/development-tools-productivity/global-keyboard-shortcuts.md) — Assigns custom key combinations to postpone, finish, pause, skip, or reset breaks. ([source](https://cdn.jsdelivr.net/gh/hovancik/stretchly@trunk/README.md))

### Operating Systems & Systems Programming

- [Chromium-Based Desktop Shells](https://awesome-repositories.com/f/operating-systems-systems-programming/desktop-environment-frameworks/desktop-environment-components/desktop-application-frameworks/chromium-based-desktop-shells.md) — Wraps the application in a Chromium runtime with native OS integration for tray icons and window management.

### Software Engineering & Architecture

- [IPC Command Routers](https://awesome-repositories.com/f/software-engineering-architecture/command-routing-architectures/ipc-command-routers.md) — Routes command-line and keyboard shortcut inputs through IPC to control the running scheduler instance.
- [Break Lifecycle State Machines](https://awesome-repositories.com/f/software-engineering-architecture/state-machine-logic/lightweight-state-machines/break-lifecycle-state-machines.md) — Models the break lifecycle as a configurable state machine with timer and user-command transitions.

### System Administration & Monitoring

- [User Activity Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/activity-monitors/automated-activity-loggers/user-activity-monitoring.md) — Detects user inactivity and running applications to emit pause or resume events to the break scheduler.

### Web Development

- [Cross-Platform Desktop Applications](https://awesome-repositories.com/f/web-development/cross-platform-desktop-applications.md) — Built with Electron and runs on Windows, macOS, and Linux with a consistent user interface.
- [Timer-Based Event Loops](https://awesome-repositories.com/f/web-development/event-driven-architectures/timer-based-event-loops.md) — Uses a timer-based event loop to emit break start and end signals for UI and sound playback.
- [Local HTML Break Renderers](https://awesome-repositories.com/f/web-development/html-rendering/local-html-break-renderers.md) — Displays break content as local HTML pages with custom text, images, and links.
