DEV Community

Kuba
Kuba

Posted on • Edited on

Move Your Training Plan Out Of Google Sheet To Mobile App In 5 Minutes

This story starts with pain. The pain of using google sheets on mobile during a training session, to be specific. I wanted to find some easier way of browsing exercises, descriptions, repetitions, etc. while keeping all training history. Basically how to use google sheet functionality while not using google Sheets.

Here comes the Airtable. I think the first google result is quite accurate about it.

Airtable is a spreadsheet-database hybrid, with the features of a database but applied to a spreadsheet.

Seems nice? Let’s dive in.

I will show you the path from zooming in google Sheets between reps to an easily browsable airtable database.

For this example, I prepare a dummy training description in excel. They might not make any sense but this is not the point here.

FROM THIS

Untitled

TO THIS

Screenshot_20221010-131628.jpg

What do we want?

Let's look at the training and how they are specified. There are cycles that are X weeks long and consist of 3 different training sets. Training A, B, and C. Each training consists of other exercises. Worth to note is that some of the exercises are the same in different cycles.

  • Cycles with three different pieces of training
  • Training with exercises
  • Exercises - I will live it as it is (long text). You can dive deeper and split it into series, repetitions, etc.

Airtable database and exercises table

First, go to airtable and create a database (in airtable terms it is a base). The first thing you will is a table called “Table 1” with some columns. Let’s remove them and call the table Exercise. The convention is to keep it singular so let's stick to Exercise instead of Exercises.

Also, we can change the name of the database on the left top. Let's call it MyTraining.

Untitled

Based on exercises in google sheets, each exercise has some description and type. Those will be the two first columns in the table. Let’s use Long text for the description and single select for the field type.

Untitled

Untitled

Now add all exercises from google sheets to the table. Click + button under the Name column and fill in the values.

Untitled

Untitled

In the Name column, I used a short description that briefly describes what it is about. It could be helpful when doing the same training for the n time in a row.

Exercises to Training units

Now let’s create the second table. All the exercises are grouped into training units in this case. To switch between them we need another table called Training. It will represent your one day at the gym so it will consist of all the exercises you should do in a single session. Create one adding new card next to Exercise - “Add or import” and choose “Create empty table”.

Untitled

Remove all unnecessary fields and add a new column. This time it will be a relation column called Exercises. Choose “Link to another record” and “Exercise”. Check if “Allow linking to multiple records” is enabled.

Untitled

Untitled

Let’s create our first training. For the name, I will use the A B C keys since that is the way I have them ordered in the google sheets on the cycle level. Previously created exercises add based on what is in your google sheet.

You should have sth like this at this moment.

Untitled

Training to Cycles

Now let’s create the cycle table. All the training units are grouped into cycles in this case. To switch between them we need another table called Cycle. Remove all unnecessary fields and add a new column. Again use the relation column called Training. Choose “Link to another record” and “Training”. Check if “Allow linking to multiple records” is enabled.

Cycles are groups of training units in the scope of a few weeks. I. e. we have here: 3 training units N times each is one cycle. So to model that we will use the same technique as in the relation between exercises and training.

Untitled

And fill the table row.

Untitled

Going mobile

I found that using Airtable mobile app is very useful in this case. Download it on your phone and log in. Check what we’ve just created.

Cycle view

Screenshot_20221010-124530.jpg

Trainings in cycle

Screenshot_20221010-124537.jpg

Exercises in a training unit

Screenshot_20221010-124548.jpg

Exercise details

Screenshot_20221010-124612.jpg

Obviously, there are a few things that we can improve. The first is that we don’t need details like cycle and training on the Exercise details view. If we check the Exercise table in airtable, we can see some new columns which we didn’t create. They were created automatically when adding a relation. Hide it to remove it from the view also on the mobile.

Right-click on the column name and choose “hide field”. Do the same for the Cycles in the Training table.

Another thing is that we can work on Training unit name to make it more meaningful.

First, let's move the training key to a new column. Choose the “select single” option and add A B and C options.

Second, retrieve the exercise type with the rollup field type. Add a new column, call it ExercisesTypes, choose “Rollup” type, then the Exercises field and Type as a field to roll up. The aggregation formula will be joining all types divided with slash into a single string.

ARRAYJOIN(values, "/" )
Enter fullscreen mode Exit fullscreen mode

Untitled

Next change the Name field type to “Formula”. Right-click on the column name and choose “customize field type”

Untitled

All this should result in the name: TrainingKey + types of exercises in training.

Untitled

Don’t forget to also hide columns TrainingKey and ExercisesTypes.

Let’s check again the mobile app.

Screenshot_20221010-131440.jpg

Screenshot_20221010-131921.jpg

Screenshot_20221010-131622.jpg

Screenshot_20221010-131628.jpg

Summary

This only shows how we can move from one tool to another which is easier to use in this case. Don’t forget that airtable is a much more powerful tool. A few example ideas of mine to extend what we’ve already done:

  • Add a starting date to the cycle to sort them with the current one on the top.
  • If you are a couch you can add a User table to manage training between them.
  • Create another table that will log the training you have done. Then you can generate a report for your coach every week. Also, you can automate it!
  • You can add a field with a link to a youtube video on how to do certain exercises.

This post was originally published on my blog. Check out for more.

Top comments (0)