Skip to content

Repository files navigation

Strength Training Graphs

Strength Training Graphs is an Obsidian plugin that reads workout data from note frontmatter and gives you a dedicated chart screen for strength progression.

You can compare exercises over time, switch metrics, apply trendlines, view e1RM estimates, and open the source notes directly from chart points.

Install

  1. Download the latest release from GitHub.
  2. Put these files in your vault at: .obsidian/plugins/strength-training-graphs/
    • manifest.json
    • main.js
    • styles.css
  3. In Obsidian, open Settings -> Community plugins -> Refresh Plugins, then enable Strength Training Graphs.

Setup (First Run)

In plugin settings:

  1. Choose a source mode:
    • Folder mode includes all notes from one folder path in your vault. If Include subfolders is enabled, notes inside nested folders are included too.
    • Frontmatter match mode includes notes whose frontmatter contains one specific property/value pair. By default, that means notes with Note Type: Training Entry.
  2. Set the Date key (default: Date). Every included workout note must have this field or it will be skipped.
  3. Optional: enable colorblind mode if you want stronger visual separation between chart lines.

How to Use

  1. Create one note per workout day. Each training day needs its own note so the plugin can plot that day's data against the note date.
    • I recommend using a template for your workout-day notes. Templates make this much easier because you do not have to retype every property name every time you log a new session.
  2. Put the workout date in frontmatter. The plugin looks for your configured date key, which is Date by default.
  3. Add each exercise as its own group of frontmatter properties. Each exercise needs its own Weight, Sets, Reps (per set), and optional Modifier fields.
  4. Keep the property names in the expected format. Use:
    • {exercise name} Weight (lb) or {exercise name} Weight (lbs)
    • {exercise name} Weight (kg) or {exercise name} Weight (kgs)
    • {exercise name} Sets
    • {exercise name} Reps (per set)
    • {exercise name} Modifier
  5. Use consistent exercise names over time. For example, keep using Bench Press instead of switching between Bench, Barbell Bench, and Bench Press, otherwise they will chart as separate exercises.
  6. Open the chart view and select the exercises you want to compare. From there you can graph Weight, Sets, Reps, or Volume, adjust the date range, and review trendlines and e1RM estimates.

Example workout note:

---
Date: 2026-03-05
Note Type: Training Entry

Bench Press Weight (lbs): 185
Bench Press Sets: 4
Bench Press Reps (per set): 6
Bench Press Modifier: 1

Dumbbell Curl Weight (lbs): 25
Dumbbell Curl Sets: 3
Dumbbell Curl Reps (per set): 12
Dumbbell Curl Modifier: 2
---

What each property does:

  • Date: the workout day used on the chart timeline.
  • Note Type: only needed if you use frontmatter match mode and want this note to match your selected property/value rule.
  • {exercise} Weight (lbs) or {exercise} Weight (kg): the weight used for that exercise on that day (including the bar/equipment/etc).
  • {exercise} Sets: how many working sets you performed.
  • {exercise} Reps (per set): how many reps you performed in each set.
  • {exercise} Modifier: multiplies total volume for that exercise entry. Use this when one logged weight/rep/set value represents repeated work across multiple sides or body parts.

Modifier example:

  • Dumbbell Curl Modifier: 2 doubles the calculated volume for that entry.
  • This is useful for movements like single-arm curls where one logged set/rep/weight value represents both the left and right arm.
  • If you leave Modifier out for an exercise, the plugin uses 1 by default.

Open the Graph Screen

  • Click the ribbon icon (left sidebar), or
  • Open Command Palette and run: Open Strength Charts

The chart opens as its own main tab-style screen.

Troubleshooting

  • No data on chart:
    • confirm notes match source mode settings
    • confirm each included note has a valid date key
    • confirm exercise field suffixes match expected format exactly
  • Use the diagnostics section at the bottom of the chart screen for indexing and parse issues.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages