# 5-Minute Timer

A countdown timer that starts green, sweeps to red as it runs down, and once it passes zero keeps counting negative while the whole screen flashes red at 1 Hz. Play/pause, reset, and on-the-fly time adjustments. One self-contained HTML file — no build, no server.

![5-Minute Timer](/blob/app/timer/screenshots/hero.png)

## Live Demo

<iframe src="/blob/app/timer/demo/index.html" width="100%" height="560" frameborder="0" style="border-radius: 10px; border: 1px solid #30363d;"></iframe>

Press **Start**, let it run past zero, and watch it flash. Everything is baked in — the demo above is the real app.

## Install

```
adompkg install timer
```

## Quick Start

```bash
timer                  # serve it locally → http://localhost:8741/
TIMER_PORT=9000 timer  # pick a different port
```

Or just open `~/.local/share/adom-timer/index.html` in any browser — it needs no server.

## Screenshots

### Ready — full green at 5:00
![Ready state](/blob/app/timer/screenshots/ready.png)

### Time up — flashing red, counting negative
![Expired state](/blob/app/timer/screenshots/expired.png)

## Features

- 5-minute countdown with a depleting progress ring and large tabular digits.
- Color sweeps green → yellow → red as the remaining time shrinks.
- Past zero it counts negative (`-0:01`, `-0:02`, …) and the whole background strobes red at **1 Hz** while running.
- Pause stops the strobe (digits stay red) for a calm, readable "time's up" state.
- **Play / Pause** and **Reset** buttons (Space and R keyboard shortcuts).
- **−60s / −30s / −10s / +10s / +30s / +60s** adjust buttons that work whether running or paused — add time to climb back into the green.
- Wall-clock-accurate timing (`performance.now()`), so it stays correct even when the tab is backgrounded.
- Fully self-contained: a single static HTML file, zero dependencies.

## Dependencies

This app has **zero** adompkg dependencies. It is one self-contained HTML file with no external libraries, fonts, or services.

## Talk to the AI

- **Open / run:** "open the timer", "start a 5 minute timer", "serve the countdown timer"
- **Use:** "reset the timer", "add 30 seconds", "pause it"

## Skills

| Skill | Purpose |
|---|---|
| `timer` | Describes the app, how to run it (`timer` launcher or open the HTML directly), the controls, and the green→red→flash behavior. |
