Workout/Exercise Management in Obisidan

I am trying to figure out the best way to manage and track my workouts in obsidian. What I have so far uses the dataview, templater, and quickadd plugins to add and manage workouts and exercises.

I organize my workout splits using the push/pull/legs routine. Push workouts are chest/triceps/shoulders, pull workouts are back/biceps, and leg workouts are plyo/weights. Here is the process from start to finish:

Screen_Recording_2023-01-01_at_1_26_37_PM_AdobeExpress (2) (1)

My workflow is as follows:

  1. Use a hotkey assigned to a quickadd macro to add a workout

Which has the following settings:

d

The macro uses this workout template

The workout is then added to the workouts folder

  1. I am prompted to enter the type of workout (Push, pull, legs) and the date of the workout. I then start adding exercises using a similar approach - a quickadd macro assigned to a hotkey that uses a template for the type of exercise (shoulders, chest, triceps, back, biceps, legs, abs)

Macro -


Exercise template:

Using templater, I am prompted to choose from a menu of exercises for that muscle group. I am also prompted to enter the date for the exercise, and the name of the file. I want to be able to make the workouts/exercises in advance, so I can see what my weekly workouts will look like. Ideally, I would name the individual exercise notes as {exercise - date} (ex pushups - 01-01-2023), where I can use the tp.system.suggester to prompt the menu of exercises to name the file AND populate the exercise field at the same time, instead of using a shorthand placeholder name, but Im not sure how exactly to do that…

The exercise note uses a dataview query to search the workouts folder for workout notes with the same date, and another query to look in the exercises folder to find past notes of the same exercise, so I can see how many reps/sets/weight I have done for that exercise previously

Once the exercises for a workout are added, I use a dataview query in the workout note to search for files in the exercise folder that have the same date as the workout note. This way I can see all of the exercises on the workout page, with links to each individual exercise:

  1. Starting from that days workout note, I use the exercise ID links in the dataview query to go into each exercise note and record how many reps/sets/weights I did from my phone right after I complete the exercise by editing the frontmatter from the exercise note.

So an exercise note ends up looking like this after I finish:

Query to find past instances of exercises:


Query to find the workout note for that exercise:

Does anyone have any suggestions on how I can make this process a little cleaner?

1 Like

@everest This is very nice! Thanks for sharing! Considering I just started at the gym today, I was wondering if you might share your markdown files for this system. No pressure, but I would be willing to experiment with the suggester affecting the note name and field simultaneously. I am a little out of practice, but would love to try.

I really appreciate you sharing this inspiring detailed description. I’m also very curious to see if someone has a more elegant solution.

Great work! Thanks again!

Sure, here they are:

Glad you found this helpful! Its still very clunky and nowhere near where I hope to get this, but it works. Let me know if you have any questions

1 Like