ExerciseDB - Part1 - Initial Idea

Overview

Now you might be thinking 🤔, why would you ever want to have your own exercise database.

The short answer

It is cool as hell 🆒 and it`s what all the cool kids are doing!!! 😂

The real answer

In BBnote I aim to determine all sorts of information based on only the exercise selections, as such this information needs to be added to some kind of database per exercise.

Now you might be wondering — doesn’t this already exist in someone else’s database? Yes, more than likely, though I am sure its not free and I will not be learning anything interesting. Sucker for punishment I guess 😂

How does this look like currently

All exercises are in JSON format and conform to a defined JSON schema.

Note
This will change based on what is needed in BBnote, I do however not think the basic structure will change all that much.

Each exercise look something like this:

altName

Contains all of the various names this exercise could be called.

mechanic

Indicates whether this is a compound or isolation exercise — useful for estimating systemic versus local fatigue.

primaryMuscles and secondaryMuscles

At a high level we can now figure out which muscles are directly and indirectly involved for each exercise. This is key to not underestimating volume that comes in from indirect work.

muscleDetails

Here the intention is to go into more specific muscle subdivisions, allowing exercise selection that targets particular regions.

mp4

Great to see the start and end of each exercise.

Issues

Warning
This database contains 800+ exercises and they are NOT perfect in description, mp4 or detailed information.

I will be using my best mate chatGPT 🤖 to add some additional information. Over multiple months/years the idea is then to work through the database and ensure it’s mostly accurate.

Why Structure Matters

The reason this needs to be structured and consistent is simple: BBnote relies on this data for volume calculations, muscle grouping, and recovery modelling.

If the underlying exercise data is inconsistent, the statistics built on top of it will also be inconsistent.

What This Enables

Having a structured exercise database allows:

  • Automatic muscle group volume tracking
  • Secondary muscle weighting
  • Fatigue modelling
  • Intelligent exercise filtering
  • Program validation

Special Note

I did not start this database from scratch, I forked it from here: free-exercise-db.