Self-modifying configuration pattern
One of the interesting, and hard aspect of calisthenics, is the ability to progress between movements in many different ways. In contrast to classical weight training, the target is not being able to lift a certain amount of weight over a certain amount of repetitions – but being able to move into a position and hold for some time.
Classical axes of movements are divided into pulling vs. pushing and vertically vs. horizontally. For example, handstand is a vertical pushing movement.
I was recently loooking for ways to track exercise progressions long-term. As I found existing applications not customizable enough for my needs, I instead implemented a simple interval timer. What set it aparts from others, is that executions is sourced from TOML files. Especially for intra-exercise progressions, I found a self-modifying pattern useful, where configuration keys can act on themselves.