↓ Skip to main content
  1. Home projects/

Workout Timer with a phone remote

··Index: 4·

I wrote this interval timer for round-based training, the way a boxing round timer works, as a .NET 7 Windows Forms app where you set the work time, the rest time and the number of rounds.

Under the interface I put a small timer engine that raises events on every tick, at half-time, in the last ten seconds, at the start of rest, on the next round, on the last round and at the finish. For every one of those the app plays a sound (a gong, beeps, a count of short beeps for the round number, and chimes at the end). All of the sounds are synthesized by a small script in the repository, so the project is free to share under the GPL.

The app also starts an embedded HTTP server on port 8080 that serves a small web page and has JSON start and stop endpoints, which lets you control the timer from a phone’s browser while you’re on the mat.

A phone browser controls the timer through an embedded web server; the timer engine raises events and each event plays a sound.phonebrowserembedded web serverpage, JSON start / stoptimer enginework, rest, roundseventssoundsgong, beeps, chimestick, half-time, last ten seconds,start of rest, next round, last round, finish
How the timer engine, sounds and the phone control fit together
There’s an early experiment with a cross-platform .NET MAUI version as well.

Source on GitHub.