Skip to content

[Feature] Count Up (stopwatch) mode with earned break ratio and reminders #68

@Mustache-Games

Description

@Mustache-Games

The problem

Reef currently supports "Timer" (countdown) and "Pomodoro" modes, but lacks a flexible option for free-form focus sessions. Users who prefer unstructured work periods—where the goal is simply to stay focused as long as possible without a rigid time limit—have no way to track their progress or manage breaks dynamically. Existing countdown-based modes force users to decide session length upfront, which can be counterproductive when deep focus leads to naturally longer work periods.

Suggested solution

Implement a "Count Up" mode inspired by Goodtime. This mode functions as a stopwatch that accumulates "break budget" over time based on a user-configurable focus-to-break ratio.

Core mechanics:

  • Count Up Timer: Tracks focused work time continuously without a predetermined limit.
  • Break Budget: As the user focuses, they earn break time proportionally. For example, with a 5:1 ratio, every 5 minutes of focus earns 1 minute of break.
  • Configurable Ratios: Users can set custom ratios (e.g., 5:1 for traditional pomodoro feel, 4:1 for longer breaks, 3:1 for generous recovery, or 6:1 for minimal breaks).
  • Visual Indicator: Display current break budget accumulation in real-time (e.g., "25m focus = 5m break earned").
  • Break Enforcement: When the user stops the timer, they can choose to take their earned break (switching to a countdown) or bank it for later.
  • Break Reminders: Optional notifications that prompt users to take a break after a configurable duration of continuous focus or at set intervals (e.g., every 25 minutes), helping maintain healthy work rhythms without interrupting the count-up session.

Workarounds

  1. Use the existing "Timer" mode with arbitrarily long durations and manually calculate break time.
  2. Use external stopwatch apps alongside Reef, breaking the integrated workflow.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions