
Gym Timer – A Free Interval Timer Built for Gym Classes
A full-screen interval timer for boxing, HIIT, Tabata and fitness classes, readable from across the gym, with bells, spoken cues and an optional finisher round. Designed, built and run by me, and free for anyone to use at gymtimer.uk.
Jump to a section

Built with
- Next.js
- React
- TypeScript
- Tailwind CSS
At a glance
What it is
a full-screen interval timer for boxing, HIIT, Tabata and fitness classes
Who it's for
coaches running a class, and anyone training on their own
Status
live at gymtimer.uk, free to use, with no account and no tracking
The problem
Timed rounds only work if everyone in the room can follow the clock. In a gym that means a timer you can read from across the floor, hear over the music, and trust to keep time, whether the coach is shouting instructions or the phone has gone to sleep.
The idea
A free web app that turns any phone, tablet or screen into a gym clock. You choose a preset or set your own rounds, press start, and it takes over: big colours, bells, spoken cues, and no setting up mid-session.
What I built
A clock you can read from across the room
Each phase has its own colour: green for work, amber for the last ten seconds, blue for rest, indigo for get ready, and red for the finisher. There's a high-contrast mode, a fullscreen view, progress bars, and a summary at the end.
Cues you can hear
A bell starts and ends each round, a knock and a spoken "ten seconds" give the warning, and beeps count down 3-2-1. A voice calls out "Get ready", the round number, "Rest" and "Workout complete", and a fanfare marks the end. Most of the sounds are generated in the browser, so there's very little to download.
Sessions that fit the class
There are presets for boxing (twelve 3-minute rounds), HIIT and Tabata, and you can save your own on the device. A session can have a warm-up, labels for each round, and an optional finisher burst at the end of every round. Controls let the coach pause, skip a round or rest, add 30 seconds of rest, or switch to manual mode and move each phase on by hand. Keyboard shortcuts cover the main controls.
A screen that stays on
The app keeps the screen awake while a session runs, and it can be installed on a phone or tablet like an app.
Under the hood
Accurate timing
the timer works from a fixed end time rather than counting ticks, so pausing and resuming are exact and it corrects itself if the browser slows a background tab.
No server
it's a fully static app served directly from the web server. There's no account, no database and no analytics, and nothing about you leaves the device.
Saved on the device
your own presets stay in your browser.
Try it
Gym Timer is free to use. Open it on the screen you'll be training in front of and press start.
Technical stack
Next.js 14 as a static export, React 18 and TypeScript, Tailwind CSS, the Web Audio and Speech Synthesis APIs, the Screen Wake Lock and Fullscreen APIs, and a web app manifest, served as static files over HTTPS.
Gallery
Project Links
Let's Work Together
Ready to Build Something Remarkable?
Whether you need a bespoke website, a full digital marketing strategy or a technical partner who understands business, I'm here.
