So in my previous post, I had mentioned the coming of my iPhone app. I’m pleased to announce that the app is now available in the app store, and now I deal with the challenge of getting noticed. I feel that there’s something wrong in the world when two of the top five apps in the Health and Fitness category have the word “buddy” in them. Upon my app’s release, I’ve had tons of other ideas to tweak and improve things, but unfortunately my ratio of ideas to time to commit to working on them is entirely too large.
One of my ideas has been to publish another app that’s free that’s nothing more than an exercise library with the capability to crowdsource putting together better videos and adding exercises not yet in the library. That idea led me to putting together a quick web application simply called Exercise Library. Since we already have a populated database, I was able to put together the whole site in just a matter of hours. Next, I’d like to release an iPhone appp around the same idea.
Anywho, I’m fighting an uphill battle against established fitness utilities that are, in my opinion, worthless. A 5 star rating goes a long way in marketing, so if you check it out and like it, please rate. As always, I welcome any constructive feedback and will do my best to respond to demand. Contact me at firstname.lastname@example.org.
No one will think a website is cool if its owners don’t actively let everyone know that we exist. Just so you all know, maintaining this website is not my full-time job, but making it a legitimate success will be among my aspirations for as long as it exists.
This website in itself is sub-par in my opinion, but only because the delivery method of the content is less than ideal in that the information provided is only useful while you’re at the gym, not at a computer. Printing a workout solves the problem to a small degree, but printing things out is so 1980s.
Anyway, I wanted to just post a quick note to let everyone know that 1.) we exist and 2.) I’m putting the finishing touches on an iPhone app to repackage the content delivered here to the members of this site. For the nerds here that would be eager to lend an ear to my excitement, I’ll just give a quick run-down of the design of the app.
In order to keep the same code and data that exists here on this server, the app itself fetches data from workoutgenerator.net. Ideally, all of the processing for generating a workout would happen on a user’s phone, but unfortunately this isn’t feasible for me since I can’t port this website’s backend onto an iPhone app. This site is built on django while an iPhone natively uses Objective C. As I’m quite proud of, this site is extremely extensive, took me over a year to write, and consists of tens of thousands of lines of code. The best that I could do to minimize the pitfalls of relying on a web server for every piece of data used was to minimize the requests and responses. So the client phone only fetches a minmal amount of data in a compressed format and in turn populates the client-side interface with that data.
I’ll post again once the app’s been submitted. I hope that if you find this site to be useful or feel that it would be far more useful in the form of a mobile application you’ll stay tuned.
Adam’s been hustling lately with his new job, so I’ll still have to wait on providing the in-depth explanation for the method behind the madness for our workout generation. In the mean time, Adam was able to sit down and write a quick note about our site:
“Workout generation, whether done by a personal trainer or our dynamic system, is a complicated process. One must consider a multitude of variables that range from personal goals, time available, and motivation level, to the more scientific side of exercise variance, programmed periodization, and energy pathways. Nowadays more and more people are learning of important concepts of continued training such as muscle confusion, heart rate zones, and programmed rest. However, the understanding usually stops at the conceptual level and the time needed to learn everything in depth and to gain successful experience employing it takes far too long. Thus, most people will turn to suggested routines from magazines, websites, or a personal trainer. These will often result in a short term result, but often do not solve the long term problem (cost of a personal trainer being the limiting factor there).
The canned workouts provided by magazines and other “online personal training” websites cannot provide a long term solution due to the lack of integrating the variables mentioned above. Usually the workouts do not take into account the users experience, fitness level, time, resources, actual goals, and obviously only provide a limited time of guidance. In order to properly program for an individual, all those variables (and more) need to be accounted for. Then, and only then, can a long term, continued training regimen be achieved. It is this customized and personalized program that leads to long term health and success.
What we have created is a way to account for all these variables to ensure continued guidance along your path to successfully achieving your goals. The program constantly adjusts to your growing experience, fitness level, and resources to continually challenge your body to change and adapt in the direction you desire. Most people quit exercising because they either do not have the path laid out before them or they grow bored from doing the same thing over and over. Our dynamic, constantly adapting, programmed workouts offer the answer.”
As I’ve mentioned in my previous post, I’ve found that marketing is far easier said than done, and what I’d previously intended to keep secret to beat out the competition, I’ve come to realize that in order to do exactly that I will need to reveal how our system works. The focal point of this website, the single page that displays your workout for the day and what to expect for the rest of the week, belies the complexity of what just happened in order to generate a work out routine specifically for you.
So here’s how it works: the top-most portion of our system design is the concept of a goal that you as the user chooses. What makes up each goal are mainly two things. The first of which is the type of cardio associated with the goal. So for someone striving for rapid weight loss, cardiovascular activity is obviously a prioritysince it’s necessary to achieve a caloric deficit. The second part of each goal is the composition of “phases.” Our system is composed of 5 such phases: stabilization, muscle endurance, hypertrophy, power, and maximal strength. Each goal is composed of several, but not all, of such phases, and each goal places a different emphasis on each phase.
Each phase has its own composition of the break up of each workout, the types of exercises associated with that phase, the rep range you’re striving for, and the emphasis of cardiovascular activity. So for example, maximal strength is the phase you’d typically associate with a power lifting regimen. Rep ranges are low and lifts are focused on big exercises like deadlifts, squats, and benchpress. Meanwhile, the power phase focuses on the explosive capabilities of your nervous system, and here you’ll see lifts like snatches and cleans. A description of each phase can be seen in our phase descriptions. Beyond the different exercises, each phase also places a different emphasis on what we’ve labeled as “workout components”. This includes reactive, resistance, balance, core, and flexibility exercises.
Our database is also composed currently over 650 exercises, and we always have the capability to add more if there’s anything we’ve missed. Each exercise is extensively classified with the minimum fitness level required, what “workout component” it belongs to, what equipment is required from the user, which muscle group is worked, and any other exercises that it might be mutually exclusive with (for instance, it doesn’t make sense to have a workout with sumo dead lifts and then do more regular dead lifts).
Then we have even more intangibles going on behind the scenes. For example, the number of sets and exercises prescribed per workout is dependent on the fitness level that you input. If you play around with our system, you’ll notice that changing your fitness level can drastically affect the volume in your workout. If you also continue to use the site for a while, you’ll also notice a progression in the workouts for the set and rep ranges. There’s also frequencies associated with all of the muscle groups of the body. So working your forearms will have little impact in the exercises selected for you on the following day. Working your legs, however, will result in our program filtering out leg exercises for the next several days in order to allow for proper recuperation. There’s also an additional consideration for the intensity at which you worked a particular muscle group. So just because you worked your legs briefly in one workout, that doesn’t rule out leg work in the coming days.
Workout construction itself has a degree of randomization, but it’s done in a manner to create the intended consequence of your body having to adapt to new stimuli. It’s not so random that there’s a lack of intelligent logic. While most humans develop a logical training split to organize their workouts into a routine, our workout generator selects exercises only in a manner to avoid overtraining a particular muscle group. In this way, you’ll start to see a natural training split over time.
Finally, you’ll also notice a sort of sinusoidal degree of cardiovascular intensity in your week. This is because a framework for the composition of your workouts is created before exercises are selected, and cardiovascular activity is distributed evenly throughout the week. In the case of a week in whcih you have multiple heavy cardio sessions and multiple light sessions, the activities are spread out and alternated so that more intense workouts are clumped together in one part of the week.
So that’s just a brief overview of the whole system. In actuality, there’s hundreds of little nuances and logical rules that have huge second and third order effects, and I spent over a year writing the code to facilitate the whole system. Someone can try and copy it, but without all of the small details involved, the attempt would fail. Beyond that, we’ve also composed hundreds of database entries that are transparent to the user which couldn’t be replicated without an extremely knowledgeable trainer or coach.
We believe in our product. We believe that it’s the best, most in-depth training system on the internet, and we also believe that if properly followed, our program caters to your needs better than what many personal trainers could offer.
I’ve tried to market this application in conventional manners – big headlines, big promises, catchy phrases – but I don’t think that I’ve ever truly conveyed the sophistication of this application by taking such action. I’ve also tried to think of what specifically to write about on this website as a whole to deliver content to people that would invite new users, but since this project is not my full time job, I’ve never been able to really think of something so innovative that it wasn’t a regurgitation of what you’d already easily find on the internet or a fitness magazine.
Then it hit me. Why don’t I just write about what our application actually does? Previously I didn’t want to release that information because I considered our algorithm to be proprietary; if someone else got a hold of how we generate workouts, it could easily be replicated and the product that we have so carefully crafted and invested our time and energy in could be stolen by some other programmer. But after spending months and months writing and optimizing code and expanding our database, the fear of our algorithm being stolen has all but disappeared. What I’ve come to find is that our successful competitors have far less worthy workout generation programs, and if someone was interested in making a quick buck rather than creating something that could truly change someone’s lives, it could be one by building a simple program with a flashy front end that shows people what they want to see rather than what they need to see.
My point can be illustrated with an analagous business model with Planet Fitness. This is currently one of the most succesful and rapidly expanding gyms in the United States, but their business model actually shies away from inviting intense workouts and has earned the disdain of true gym rats and elite athletes. But their cushy weight machines, abundance of LCD’s, and “Judgement Free Zone philosophy” has brought them customers and in turn brought them profits. Whether the owners of the gym are truly philanthropic in their efforts to build a “judgement free” gym or if they are trying to appeal to the broadest audience possible I cannot answer, but I believe that if you are looking to transform your body, if you are looking to get stronger, bigger, faster, and leaner, the ideal environment is one that challenges you daily and requires a commitment to your goal. And frankly, I don’t believe that the majority of the population is prepared to commit to their goals.
So my point is that I’m not afraid to tell you how our program works. If another business wanted to steal it, then it’s probably not the ideal path to gaining a broad customer base. The ideal business model would invest a disproportional amount of effort on flashy design and attractive models and forego the intricacies required to build a long term training plan. You’ve seen it on infomercials: no one’s going to sell their product unless they promise immediate and realistically unfeasible progress. No one wants to buy something that will make them look amazing after they invest 4 years of consistent work. But success for me does not mean the maximum amount of money – it’s the maximum amount of satisfied users. And a satisfied user is someone whose life has positively changed as a result of working out in a well-invested manner. If I have thousands of satisfied users, that in itself is rewarding for me. I am truly proud of the system that we’ve built, and if you asked me to talk about how I programmed everything, I would be excited to tell you about it for an hour.
So this is the first in what I hope to be a series of entries detailing how our program works and what revisions might be made. What I hope to write about in the future include:
How our system works
About the creators of the system
Why our system might even be better than a personal trainer
Why it’s good to follow a program that you didn’t create