Skip to content

Repository files navigation

SprintFocusTimer

SprintFocusTimer is a compact macOS focus tool for choosing one task, making a short visible commitment to it, and getting pulled back when attention drifts.

It is intentionally not a time tracker, productivity dashboard, or task analytics app. The focus board holds the work you care about; the timer protects the one thing you are doing now. When a sprint expires, Drift mode makes the expired commitment visible so you can consciously recommit or close the loop.

SprintFocusTimer screenshot

What It Does

SprintFocusTimer is built for visible work sessions. Pick a duration, mark the current task, start the sprint, and keep the timer on screen as a reminder to stay with that task.

The core loop is simple:

  1. Choose the task that matters now.
  2. Start a focused sprint.
  3. When the sprint expires, notice Drift instead of losing track.
  4. Continue or mark the sprint done intentionally.
  5. Build a Focus Chain from deliberate returns to focus.

Why Use It

Most timers disappear into the background after they ring. SprintFocusTimer is meant to stay visible and act as a small attention anchor while you work.

The Focus Chain is not a score and does not measure how long tasks took. It rewards the act of returning to the sprint loop: start, focus, notice Drift, and decide what happens next. That keeps the app lightweight and useful for staying with the current task without turning your day into a report.

Features:

  • Preset timers: 1, 5, 10, 15, 30, 60, and 90 minutes
  • Resizable circular countdown timer
  • Drift mode with a live +MM:SS overrun counter after a sprint expires
  • Focus Chain panel for deliberate completed sprint loops
  • Slide-out rich text focus board with multi-state task checkboxes, indentation controls, text highlights, row dragging, and a resizable drawer
  • Checkbox states for blue empty, grey, yellow, orange, red, and green complete
  • Highlighter swatches for marking selected focus board text, plus a clear-highlight control
  • Drag handles for reordering whole focus board rows
  • Hover explanations for Focus Chain, milestone ticks, and visual alerts
  • Filled Start/Stop control with green and red running-state feedback
  • Optional milestone markers at quarter intervals
  • Optional milestone tick sounds with quick volume preview
  • Optional completion alarm
  • Optional visual attention glow for milestones and completion
  • Light/dark background toggle
  • Optional always-on-top window
  • Settings persist between app launches
  • Window size and position persist between app launches

Download

Download the latest DMG or ZIP from the GitHub Releases page:

https://github.com/DaneShakespear/SprintFocusTimer/releases

Open the DMG and drag SprintFocusTimer.app into Applications, or unzip the ZIP and move SprintFocusTimer.app into Applications.

Opening The App On macOS

SprintFocusTimer is currently unsigned and unnotarized. macOS may block it the first time you open it. The source code is public in this repository so you can inspect how the app is made or build it yourself.

To open it:

  1. Open Applications.
  2. Right-click SprintFocusTimer.app.
  3. Choose Open.
  4. If macOS shows a warning, choose Open again.

If macOS still blocks it:

  1. Open System Settings.
  2. Go to Privacy & Security.
  3. Look for the message about SprintFocusTimer being blocked.
  4. Click Open Anyway.

Build From Source

Requirements:

  • macOS
  • Xcode

Build and run:

  1. Clone the repo.
  2. Open SprintFocusTimer.xcodeproj in Xcode.
  3. Choose the SprintFocusTimer scheme.
  4. Press Run.

You can also build from Terminal:

xcodebuild \
  -project SprintFocusTimer.xcodeproj \
  -scheme SprintFocusTimer \
  -configuration Release \
  -destination 'platform=macOS' \
  build

Create A DMG

The repo includes a helper script:

./scripts/create_dmg.sh

It builds a Release app and creates:

dist/SprintFocusTimer-2.5.0.dmg

The DMG includes:

  • SprintFocusTimer.app
  • Applications shortcut
  • Install instructions

If local DMG creation is blocked by macOS disk-image permissions, package the built app as a ZIP and attach that ZIP to the GitHub Release instead.

Notes On Signing

The app can be distributed as an unsigned DMG or ZIP, but users may need to approve it manually in macOS.

For a smoother public install experience, the app should eventually be signed with an Apple Developer ID and notarized by Apple.

License

MIT License. See LICENSE.

About

A compact macOS focus timer with milestone reminders, visual alerts, and a saved focus board.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages