I teach self-defense and fitness classes every week. Each class needs to start with some warm-up exercises to get everyone's blood moving, set the tone for the class, and ideally to preview some of the movements they'll need during the class. At first it seems simple - have folks do some jumping jacks, some push-ups, some sit-ups, maybe jog around a bit. Easy.
Except that the surest way to make sure that folks start showing up late to your class is to have the exact same warm-up week after week after week. When your students start getting bored with the warm-up, they'll start skipping it entirely. Having students show up late to join in the class is disruptive enough; students getting injured because they didn't warm up properly is both disruptive and a liability.
So I need to keep my warm-ups fresh. The exercises, the order, the cadence, all of it needs to be different from week to week. And again, ideally the warm-up is preparing the students for the movements they'll make and the muscle groups they'll use. In one sense, this is really easy:
- think ahead to what we're teaching in class that day
- think about the techniques, muscles, and joints involved
- pick some exercises (from a very large pool) which target those things
- choose enough to fill in a 5-10 minute warm-up
In practice, it's not always that simple. We're creatures of habit, and unless we've got a ton of time for prep, we tend to grab at the same small pool of exercises that are at the front of our brains. It's very easy to get into a rut where you ignore the vast number of possible exercises for a warm-up in favor of 3-4 things you use over and over. And it's very easy to forget to use the warm-up as an opportunity to target movements that students will need later in class.
Really, any method for randomizing the exercises in a warm-up would be an improvement over using the same warm-up for every classs. A stack of index cards, chosen randomly, would do the trick. Or a big table of exercises and some dice. However, I also want to target the warm-ups at the techniques I'll be teaching later in class. And I'd like to ensure that warm-ups are targeting multiple areas/muscle groups; warming up my students' arms with 5 kinds of push-ups isn't going to be much use if the rest of the class is focused on kicking. So I wanted something that would allow for a bit of intelligence in the warm-up composition. And also something portable - I don't always carry dice, but I do carry my phone.
This led to WarmupGen, an uncreatively-named utility I've been tinkering with off-and-on for years, which I often use to plan my class warm-ups. It's a Blazor web application. Visiting the main page will generate a random warm-up with 5 segments. You can re-roll any given segment for new exercise; you can also add and remove segments. Each segment can be expanded to set up filters - the segment can target a specific body area (core, legs, cardio, arms) and/or a specific Krav Maga technique (for example, straight punches). Once you've set up your segments, there's a button to copy the warm-up to the clipboard.
The app is designed to work on desktop or phone screens, so I can prep a class at home or create a warm-up on the fly right before a class. The "database" of exercises, targets, and techniques is currently a set of .JSON
files, so I can easily hand-edit things if I need to (though I usually don't; hand-editing got annoying enough that I created an editing application. I'll talk about that in another post.)
It's an ongoing project; I'm always adding more exercises and techniques to the application. Someday I may add descriptions and even links to demonstration videos; even though I teach and use these warm-up exercises all the time, I still occasionally forget what some of the names refer to.
Feel free to use it if you find it helpful. If you're interested in the architecture of it, I'll be posting more on that in the future; for now, take a look at the code.