# michaelvillar/timer-app: a Mac timer that installs from a Homebrew cask

> A Swift menu-bar timer for macOS 14 and later, distributed as a brew cask and built with make. It is a small tool with a narrow scope, and the README is honest about how little it does.

**michaelvillar/timer-app** — A simple Timer app for Mac

- Repository: https://github.com/michaelvillar/timer-app
- Stars: 2,715 · Forks: 202
- Language: Swift
- License: MIT
- Published: 2026-09-28 · Updated: 2026-09-28 · Language: en
- Canonical page: https://hysenlabs.com/projects/michaelvillar-timer-app

## The problem: a timer you can set without leaving the keyboard

Most timers on macOS are either web pages, phone apps, or a widget you have to hunt for. michaelvillar/timer-app is a native Mac app whose entire interaction is a drag and a few keystrokes. The README describes the gesture plainly: drag the blue arrow to set a timer, release to start, click to pause. That is the whole product.

The audience is narrow by design. The README says Timer requires macOS 14 (Sonoma) or later, so anyone on an older Mac is out before they start. The app was inspired by the Minutes widget from Nitram-nunca, which the author says was no longer maintained and was non-retina. This is a replacement for one specific habit, not a general productivity suite.

If you want a timer that syncs to your phone, tracks your study sessions, or runs on Windows, this is the wrong project. The repository is a Swift Xcode project with a Makefile and a small CLI, and nothing in the layout suggests cross-platform ambitions.

## How the timer actually works: drag, release, notify

The README gives two ways to set a duration. The first is the arrow: drag it, release, and the countdown starts. The second is typing. Enter digits to set minutes, and a decimal point specifies seconds, so 2.34 means 2 minutes and 34 seconds. That decimal convention is the one detail worth memorising, because it is not how most timer apps parse input.

Once running, the app supports pause by click and a set of keyboard shortcuts. Enter starts or pauses, cmd+n creates a new timer, r restarts with the last timer, and the plus, minus and arrow keys adjust the current duration by one minute, or ten with shift. Backspace or escape returns you to editing. When the time is up, the README says a notification appears with a sound.

The repository layout shows the code split into Timer, TimerTests and TimerUITests, with a .swiftlint.yml at the root and a mise.toml for tool versioning. The Makefile exposes targets named clean, build, open, test, uitest, lint, analyze, format and install-cli. That is the shape of a small, testable macOS app rather than a framework.

## Installing the Mac timer app from the Homebrew cask

The README points at the GitHub releases page for downloads and also documents a brew cask. The cask command is a single line, and the README spells it with a hyphenated formula name rather than the repository name.

```bash
brew install michaelvillar-timer
```

After that, the app is on your machine and you can launch it and drag the arrow. If you prefer to build from source, the README says the build command is make, and the Makefile shows what that does: it cleans, builds with code signing disabled, and opens the resulting bundle.

```bash
make
```

The default target runs clean, then build, then open, and the build target passes CODE_SIGN_IDENTITY="" and CODE_SIGNING_REQUIRED=NO to xcodebuild. The bundle it opens is ./build/Release/Timer.app. If you only want the binary without launching it, use make build instead of make.

There is also a timer-cli entry at the repository root, and the Makefile has an install-cli target that copies it to /usr/local/bin/timer.

```bash
make install-cli
```

The target runs install -m 755 timer-cli /usr/local/bin/timer, so it needs write access to /usr/local/bin. The README does not describe what the CLI does, which flags it takes, or how it talks to the app, so treat the install target as the only documented fact about it.

## Where this timer app stops being the right tool

The macOS 14 floor is the first hard boundary. Nothing in the README or the repository layout suggests a build for earlier macOS versions, and the project ships as an Xcode project plus a cask, not as a universal binary you can drop anywhere.

The second boundary is platform. The topics list app, mac, macosx, timer and widget, and the repository has no Android, iOS or Windows targets. If you are searching for a timer app for Windows or a timer app for Android, this project will not help, and the release assets are Mac app bundles.

The third is persistence and history. The README describes creating new timers with cmd+n and restarting with r, but it does not describe saved presets, timer history, or any account or sync feature. If you need a record of what you timed, this app does not appear to keep one.

Finally, the README does not document rollback or downgrade. The releases page lists 2.1.0 and 2.0.0 from 2026-02-07 and 1.6.0 from 2021-01-08, so there is a large gap in release cadence, but there is no stated procedure for returning to an earlier version if a new one misbehaves.

## How it differs from a web or phone timer

The obvious alternative is the timer already on your phone or in a browser tab. Those are cross-platform, free in the sense of costing nothing to open, and require no install. The difference is where the timer lives. A browser timer competes with your other tabs and disappears when you close the window. A phone timer is a second device on your desk.

michaelvillar/timer-app sits on the machine you are already working on, and it is driven by keys rather than a mouse. The decimal-point convention and the plus, minus and arrow adjustments mean you can change a running duration without touching the arrow at all. That is a different interaction model from tapping a preset button.

The trade-off is real. You give up reach for speed. A phone timer can follow you to the kitchen; this one cannot. A web timer works on any machine you can log into; this one needs macOS 14 or later. The project is worth adopting only if the Mac is where you actually work and the keyboard is where you want to stay.

## Maintenance, licence and the cost of upgrading

The repository is not archived, and the last push was on 2026-05-04. That is recent enough that the codebase is not dormant, but the release history shows the project moves in bursts: 1.6.0 landed on 2021-01-08, and 2.0.0 and 2.1.0 both landed on 2026-02-07. Anyone planning to depend on a steady stream of fixes should read that pattern rather than assume a cadence.

The licence is MIT, which is permissive and places few obligations on anyone who builds or redistributes the app. That is a statement about the licence text, not legal advice; if you plan to ship a modified build, read the LICENSE file in the repository yourself.

Upgrade cost is low in normal use, since the cask handles installation and the app has no server component or database to migrate. The cost that does exist is the macOS 14 requirement. If you are pinned to an older macOS release for other reasons, you cannot follow the project forward, and the README offers no fallback build. The Makefile also assumes a working Xcode toolchain and, optionally, swiftlint or mise, so building from source is a developer task rather than a user one.

## Conclusion

Adopt it if you want a keyboard-driven timer that lives on a Mac running macOS 14 or later and you are comfortable installing from a Homebrew cask or building with make. Do not adopt it if you need Windows, Android, iOS or a browser tab, because the repository is a single macOS Xcode project and nothing in it targets those platforms. Before installing, verify the release asset for the version you want and confirm that the timer-cli binary and its install-cli make target are present in the tree, since the README does not document a CLI at all.

## FAQ

### Is michaelvillar/timer-app free?

The repository is licensed under MIT, so the source is free to use and redistribute under that licence. The README points to the releases page for downloads and documents a brew cask install.

### What is michaelvillar/timer-app?

It is a simple Timer app for Mac written in Swift. You drag the blue arrow to set a timer, release to start, and click to pause, and a notification with a sound appears when the time is up.

### How do I use michaelvillar/timer-app?

Drag the blue arrow to set a duration and release to start, or type digits where a decimal point separates seconds, so 2.34 is 2 minutes and 34 seconds. Enter starts or pauses, cmd+n creates a new timer, and r restarts with the last timer.

## Sources

- [Issues](https://github.com/michaelvillar/timer-app/issues)
- [License: MIT](https://github.com/michaelvillar/timer-app/blob/master/LICENSE)
- [michaelvillar/timer-app on GitHub](https://github.com/michaelvillar/timer-app)
- [README](https://github.com/michaelvillar/timer-app/blob/master/README.md)
- [Releases](https://github.com/michaelvillar/timer-app/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/michaelvillar-timer-app
