Help with workout tracker

Hi everyone, can anyone help with this?

Am trying to build a fitness tracker and am stuck on how to create dynamic rows. For example, you’ll see in the attached pic of an already existing app, the number of sets is 4, and we therefore see 4 rows that users can input their data in.

Have been trying to recreate this functionality but with no luck. If an exercise requires only 2 sets, I want to only see 2 rows. If an exercise requires 6 sets, I want to see 6 rows, etc.

We’ve tried playing around with a combination of repeating groups and input fields, but haven’t had any luck. Does anyone have any advice?

Many thanks!

I’ve built an app with this functionality.

I’ve created a data type called “exercise_set”.
That data type has one field connected to the “exercise” data type.
The exercise data type also has a field with “list of sets”.

Now you can do what you ask for with a repeating group with a "search for exercise_sets with “exercise = current group’s exercise”

Remember to have a “order” field on the set data type to sort by and also the reps, weight and other set data. This way you can easily do searches for records, progress and auto regulatory training.

Thanks heaps! Will give this a try soon :slight_smile:

1 Like

A few questions:

  1. In regard to “The exercise data type also has a field with “list of sets”” - I’ve attached a picture of what I think you’re referring to. Is that correct?
    Screen Shot 2022-11-22 at 7.45.10 pm

  2. Regarding "Now you can do what you ask for with a repeating group with a “search for exercise_sets with “exercise = current group’s exercise”” - how does this logic determine how many sets an exercise should have?


You need to create a new data type called “exercise_set” (or whatever you want).
Then you create a field in your exercise data type (as in you question 1) called sets but with the “Field type” set to “exercise_set” (the data type you just created) and check the list box as you have.

Example of data type "exercise_set) and it´s fields.
If you want 3 sets of an exercise you create 3 “things” as exercise_sets and populate the fields on each of them with data like “reps”, “notes”, “order” etc.

Then on the data type “exercise” you´ve created a field of “exercise_sets” as a list.

Once you´ve created a new “exercise_set” you add it to the list of sets in the current “exercise”. This answers your question 2. The number of sets you create with a connection to the exercise is the number of sets. Evert set is a new data entry.

I also make sure to have a field on the “exercise_set” called “exercise” and one called “workout”. This way you can both pull the list straight from the “exercise´s” list of “exercise_sets”, but more often I want to do a "search for exercise_sets with “exercise = current exercise”.


They way I built this every exercise is a unique data entry for every new workout. This gives me more options for users to modify sets and reps on their own. Let´s say the coach says you should do 4 sets of 5 reps on 50kg. But you only manage to do 4 reps on the last set. Then this users should be able to modify that.

However, if the app is more for general workouts where the user isn´t supposed to log their own performance; you could probably make it a bit less complex.

Does this make any sense?
If not let me know how I can be more specific and clear.

1 Like

Hey Henrik,

Thanks a lot for taking the time with this and for the detailed response. I appreciate it.

Getting clearer with a few more questions below:

How does your “Workout” data type connect to the rest?

I’m still unsure how to pre-determine how many sets an exercise should have. For some context, below is how I plan the data flow:

I have a “workouts” data type. This has about 60 different workouts, with each workout having its unique exercises, and each exercise has a predetermined no.of sets and reps.

Based on the above, do I still have to add individual sets per exercise? Or can that flow through automatically?

Let me know if I’m not clear.


If you want to build the kind of workout tracker you posted a print screen on I’de say you have to make every set a separate data thing. Because every set will be connected to a specific user with specific information (data fields) like number of reps, weight, if completed etc.

If I got it right that you wants the user to be able to enter things like weight, number of reps etc?

I guess in this case, you have set up a workflow to create a “set” based on certain conditions (e.g assigned user, no. reps etc.) in the “exercise-sets” data type?

I’ll give this a go and reach out again. Appreciate the help!

This topic was automatically closed after 70 days. New replies are no longer allowed.