Documentation

OpenExerciseBase

1. Introduction

OpenExerciseBase is an open and extensible knowledge infrastructure for individual physical exercises. It represents exercises in a consistent, machine-readable format and provides mechanisms for their continued contribution, revision, versioning, professional review, and reuse. It is designed to serve researchers, developers, clinicians, educators, and exercise professionals.

Rather than treating exercise data as a fixed collection, OpenExerciseBase is designed as an evolving resource that can grow and change over time while preserving provenance and validation status.

OpenExerciseBase provides machine-readable, consistently structured exercise descriptions that can be used in:

  • Research studies
  • Digital health systems
  • Behavior change interventions
  • Rehabilitation platforms
  • Fitness and wellness applications
  • Educational materials

The platform combines open community contribution with professional validation. Contribution and validation are separate processes: new exercises and improvements can be contributed openly, while professional review is recorded explicitly in the validation status of each entry.

2. Team and Contact

OpenExerciseBase is developed and maintained by the following team.

Project team

  • [Name], [role], [affiliation]
  • [Name], [role], [affiliation]
  • [Name], [role], [affiliation]

Professional reviewers

Contact

[Contact email address]

Citing OpenExerciseBase

[Citation of the OpenExerciseBase paper]

Funding and acknowledgements

[Funding sources and acknowledgements, to be added.]

3. Access and Reuse

The exercise data is published openly in a public GitHub repository and can be accessed and reused in several ways.

Repository

The data is hosted at github.com/OpenExerciseBase/OpenExerciseBase-Database. Branches mark the maturity of the content:

  • main: validated exercises that have undergone professional review
  • community: contributed exercises that are unreviewed or have been rejected

Each exercise is one JSON file in the exercises folder, and its images are stored in images/<exercise_id>/. An index.json file on each branch lists the exercises with their name, categories, body parts, equipment, setting, image, and last update, so that the collection can be browsed without reading every record.

Ways to access the data

  • Clone the repository, or download a branch as an archive from GitHub. The full version history is included.
  • Use the read endpoint GET /api/exercises of this website, which returns a summary of the exercises of both branches together with their track (validated or community) and review status.
  • Browse, search, and filter exercises on the Explore page, and download the JSON record or the images of an individual exercise from its page.
  • See current statistics of the dataset on the Database Statistics & Insights page.

Validated and community exercises

To use only exercises that have undergone professional review, read the main branch. The review status of every exercise is also recorded in its metadata (see section 6.6), so exercises from both branches can be told apart after they have been combined.

Licence of the exercise data

The exercise data of OpenExerciseBase is copyright © 2026 Ludwig Boltzmann Institute for Digital Health and Prevention and is licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0). You may share and adapt the exercise data for non-commercial purposes, provided that you give appropriate credit, link to the licence, and indicate if changes were made. Commercial use requires separate permission from the project team (see section 2). The full licence text is provided in the LICENSE file of the data repository.

Licence of the website software

The source code of the OpenExerciseBase website is licensed under the Apache License 2.0 with the Commons Clause, as stated in the LICENSE file of the website repository. The code may be used, modified, and redistributed under the terms of Apache 2.0, but the Commons Clause excludes the right to sell it, including offering a paid product or service, such as hosting or support, whose value derives entirely or substantially from the software. The software licence applies to the code only and not to the exercise data.

Attribution and citation

When using OpenExerciseBase, please cite the project as described in section 2 and state which branch and which version of the data you used. Because the repository is version controlled, the identifier of the commit you used can be given to make your work reproducible.

Contributing

Exercises and improvements can be contributed through the platform. See the contribution guidelines for how this works.

4. What Is Physical Exercise

Core Definition

Physical exercise is a type of physical activity that is planned, structured, repetitive, and performed with the specific purpose of improving or maintaining physical fitness and health [1].

In exercise science, exercise is defined as a subcategory of physical activity in which muscle contractions are organized in a planned, structured, and repetitive manner [1].

The goal of exercise is to improve or maintain one or more components of physical fitness, including:

  • Cardiovascular endurance
  • Muscular strength
  • Muscular endurance
  • Flexibility
  • Balance and coordination
  • Body composition

Difference Between Physical Activity and Physical Exercise

Physical activity refers to any bodily movement produced by skeletal muscles that requires energy expenditure [1, 2]. This includes:

  • Occupational movement
  • Transportation such as walking or cycling
  • Household tasks
  • Recreational movement

Physical exercise is narrower in scope. It is:

  • Intentional
  • Structured
  • Repetitive
  • Designed with a specific fitness goal

This distinction is important for research and digital systems, as OpenExerciseBase focuses specifically on structured exercise rather than all forms of movement.

References

[1] Caspersen CJ, Powell KE, Christenson GM. Physical activity, exercise, and physical fitness: definitions and distinctions for health-related research. Public Health Reports. 1985;100(2):126-131. PubMed

[2] World Health Organization. WHO guidelines on physical activity and sedentary behaviour. Geneva: World Health Organization; 2020.

5. Purpose of OpenExerciseBase

OpenExerciseBase aims to provide:

  • A standardized, machine-readable representation of exercises
  • A consistent schema for structured exercise data
  • Open access to exercise knowledge
  • Mechanisms for continued contribution and revision
  • A transparent professional validation process whose outcome is recorded for each entry
  • Versioning and traceable provenance

Unlike many proprietary exercise databases, this project prioritizes:

  • Openness
  • Scientific neutrality
  • Community contribution
  • Professional oversight
  • Long term extensibility

The resource is designed to be both human readable and machine actionable. The data model can evolve as new exercise characteristics, relationships, and representation requirements emerge.

6. Exercise Data Structure

Each exercise record follows a structured schema to ensure consistency and interoperability. Exercise data is represented using a consistent JSON-based structure that supports computational access, exchange, and reuse.

6.1 Basic Information

Includes:

  • Unique identifier
  • Name
  • Categories
  • Targeted body parts
  • Required equipment
  • Location context

Categories include:

  • Endurance
  • Strength and resistance
  • Flexibility and mobility
  • Balance and coordination
  • Relaxation and breathing

This structure enables filtering, searching, and integration into external systems. It is extensible to accommodate future classifications.

6.2 Instructions

Instructions are organized as a sequence of clearly defined steps.

Each step includes:

  • Step number
  • Description of the movement

Instructions must:

  • Be sequential
  • Be biomechanically clear
  • Avoid ambiguity
  • Avoid unsafe cues
  • Avoid unsupported medical claims

6.3 Performance Metrics

Performance metrics describe how the exercise may be measured.

These do not prescribe values. Instead, they define measurable dimensions such as:

  • Number of repetitions
  • Duration
  • Distance
  • Load or resistance
  • Heart rate targets
  • Physiological parameters

This enables integration into tracking systems, research protocols, and digital monitoring platforms.

6.4 Variations and Relationships

Two separate fields describe how an exercise relates to others.

  • Relationships are typed, machine readable links to other exercises: variation of, progression of, regression of, similar to, or replacement for. When the related exercise is not in the database yet, a relationship can name it as a suggestion instead of linking to an ID.
  • Variations are short free text descriptions of ways to change the exercise, for example an easier, harder, or equipment free version. They do not link to other exercises.

This supports structured linking between related exercises and enables interoperability across systems.

6.5 Media Content

Exercises may include:

  • One or more instructional images
  • Files stored using a standardized folder structure
  • Image references linked within the JSON representation

Images are intended to be:

  • Educational
  • Neutral
  • Biomechanically accurate
  • Free of branding or promotional elements

6.6 Metadata and Review Tracking

Each exercise includes metadata for transparency and traceability.

Metadata includes:

  • Created by
  • Review status
  • Reviewed by
  • Date reviewed
  • Review notes
  • Date created
  • Last updated
  • Last edited by
  • Deduplication status

Review statuses include:

  • Unreviewed
  • Accepted
  • Accepted with edits
  • Rejected

This structure ensures accountability, reproducibility, and auditability.

Validation status is recorded explicitly and remains distinct from provenance. Provenance is recorded in the created by field: an exercise may be written by a professional, generated with AI, or contributed by the community, regardless of whether it has been reviewed.

7. Contribution Model

OpenExerciseBase operates under an open contribution model.

Anyone can:

  • Submit new exercises
  • Suggest edits or improvements
  • Contribute variations

Submissions are stored in the community branch and undergo professional review before validation. Contribution and professional review are separate processes, and the outcome of the review is explicitly reflected in the validation status of each entry.

8. Professional Review Model

Validated exercises are reviewed by verified professionals.

Reviewers assess:

  • Safety and biomechanical soundness
  • Clarity of instructions
  • Structural consistency
  • Scientific neutrality
  • Duplication and overlap

Validation indicates that an exercise has undergone professional review and has been approved according to the OpenExerciseBase review process, including a check of its clarity and safety. Validated status is recorded explicitly and remains distinct from the provenance or method of creation of the exercise.

Validation does not constitute medical advice, individualized prescription, or clinical recommendation.

9. Use Cases

OpenExerciseBase can be used for:

Research

  • Standardized exercise representation in studies
  • Structured datasets for physical activity research
  • Machine learning applications
  • Behavior change intervention modeling

Digital Health Applications

  • Exercise recommendation engines
  • Rehabilitation platforms
  • Remote monitoring systems
  • Personalized coaching systems

10. Artificial Intelligence Integration

The platform supports AI assisted drafting of exercises.

AI may be used to:

  • Generate structured exercise descriptions
  • Draft instructional text
  • Generate neutral instructional images

All AI generated exercises remain clearly labeled and require professional validation before being marked as validated.

AI supports the workflow but does not replace human oversight. The use of AI is recorded as provenance and is independent of validation status.

11. Scope and Limitations

OpenExerciseBase provides structured exercise descriptions for educational and research purposes.

It does not:

  • Provide individualized medical prescriptions
  • Replace professional clinical judgment
  • Guarantee specific health outcomes
  • Serve as medical advice

Users are responsible for applying exercises appropriately within their professional or personal context.

12. Versioning and Traceability

All exercises are version controlled via GitHub.

Changes are traceable. Review actions are recorded. Metadata provides historical context for every modification. Versioning allows the resource to evolve while preserving the history and provenance of each exercise entry.

This ensures:

  • Transparency
  • Accountability
  • Preserved provenance
  • Scientific reproducibility

Appendix A: Data Schema Specification

This appendix defines the structured representation used in OpenExerciseBase. The schema is designed to be machine-readable, consistent across entries, and extensible over time, so that it can evolve as new exercise characteristics, relationships, and representation requirements emerge.

All exercises are stored as individual JSON objects using a standardized structure.

A.1 Top Level Structure

Each exercise is represented as a JSON object with the following top level fields:

{
  "id": "string",
  "name": "string",
  "categories": ["string"],
  "exerciseEffects": ["string"],
  "bodyParts": ["string"],
  "equipment": ["string"],
  "location": ["string"],
  "instructions": [InstructionStep],
  "performanceMetrics": [PerformanceMetric],
  "variations": [Variation],
  "relationships": [Relationship],
  "mediaContent": MediaContent,
  "metadata": Metadata,
  "commentsNotes": ["string"]
}

All fields must be present unless explicitly stated as optional.

A.2 Field Specifications

A.2.1 id

Type: string
Required: yes
Format: EX<slug><unique_string> or EX<number>

Unique identifier for the exercise. It must not collide with any existing exercise. The identifier is immutable once created.

Example:

EX_glute_bridge_01HZY3Q7Z3W8K2QFJ6V9B1T8M4

A.2.2 name

Type: string
Required: yes

Human readable name of the exercise.

Example: Glute Bridge

A.2.3 categories

Type: array of strings
Required: yes

Allowed values:

  • Endurance
  • Strength and resistance
  • Flexibility and mobility
  • Balance and coordination
  • Relaxation and breathing

Defines the primary classification of the exercise. Multiple categories are allowed. This field is extensible.

A.2.4 exerciseEffects

Type: array of strings
Required: yes

Describes intended physiological or functional effects. Effects must remain neutral and avoid exaggerated or unsupported claims.

Examples:

  • increased muscle strength
  • improved body balance
  • improved range of motion
  • increased heart rate
  • stretch muscle

This field is extensible.

A.2.5 bodyParts

Type: array of strings
Required: yes

Specifies primary targeted muscle groups or body regions. Multiple entries are allowed.

Examples: glutes, hamstrings, quadriceps, core, shoulders

This field is extensible.

A.2.6 equipment

Type: array of strings
Required: yes (may be an empty array)

Lists equipment required to perform the exercise. If no equipment is required, use an empty array.

Examples: exercise mat, resistance band, dumbbell, barbell

This field is extensible.

A.2.7 location

Type: array of strings
Required: yes

Allowed values: indoor, outdoor. Multiple values are allowed.

A.3 Instructions Structure

A.3.1 instructions

Type: array of InstructionStep
Required: yes

Structure:

{
  "stepNumber": number,
  "description": "string"
}

Requirements:

  • stepNumber must be sequential starting from 1
  • description must clearly describe movement execution
  • Unsafe cues must be avoided
  • Medical claims must not be included

Example:

{
  "stepNumber": 1,
  "description": "Lie on your back with knees bent and feet flat on the floor."
}

A.4 Performance Metrics

A.4.1 performanceMetrics

Type: array of PerformanceMetric
Required: yes

Structure:

{
  "type": "string",
  "unit": "string",
  "notes": "string"
}

Defines how the exercise may be measured. The schema specifies measurement dimensions rather than prescribed values.

Examples of types:

  • Number of repetitions
  • Duration
  • Distance
  • Weight or resistance
  • Heart rate goal
  • Physiological parameters

This field is extensible.

A.5 Variations and Relationships

A.5.1 relationships

Type: array of Relationship
Required: yes (may be empty)

A relationship is either a link to an existing exercise:

{
  "type": "string",
  "target": { "track": "string", "id": "string" },
  "note": "string"   // optional
}

or, when the related exercise does not exist in the database yet, a named suggestion:

{
  "type": "string",
  "targetName": "string",
  "note": "string"
}

Allowed values for type:

  • variation_of
  • progression_of
  • regression_of
  • similar_to
  • replacement_for

The type reads from this exercise to the target, for example progression_of means this exercise is a progression of the target. track is validated or community. A linked target must exist in the database.

A.5.2 variations

Type: array of Variation
Required: yes (may be empty)

Structure:

{
  "variationDescription": "string"
}

Free text descriptions of ways to modify this exercise. Variations do not reference other exercises. Use relationships for links.

A.6 Media Content

A.6.1 mediaContent

Type: object
Required: yes

Structure:

{
  "imageURLs": ["string"]
}

Lists image filenames associated with the exercise.

Images must be stored under:

images/<exercise_id>/

Example:

"imageURLs": [
  "EX_00001_start.png",
  "EX_00001_top.png"
]

A.7 Metadata and Review Tracking

A.7.1 metadata

Type: object
Required: yes

Structure:

{
  "createdBy": "string",
  "reviewStatus": "string",
  "reviewedBy": ["string"],
  "dateReviewed": "string | null",
  "reviewNotes": "string",
  "dateCreated": "string",
  "lastUpdated": "string",
  "lastEditedBy": "string",
  "duplicateOf": "string | null"
}

A.7.1.1 createdBy

Allowed values:

  • professional
  • ai generated
  • community,<name>,<email>: submitted through the platform by a community contributor
  • community co-created with AI,<name>,<email>: submitted by a contributor who started from an AI generated draft

For community submissions the value has three comma separated parts: the origin, the contributor name, and the contributor email. Commas are removed from the name and email.

A.7.1.2 reviewStatus

Allowed values:

  • unreviewed
  • accepted
  • accepted_with_edits
  • rejected

unreviewed: submitted and not yet reviewed. accepted: reviewed and accepted as written. accepted_with_edits: reviewed, edited by the reviewer, then accepted. rejected: reviewed and not accepted, including exercises marked as duplicates (see duplicateOf).

A.7.1.3 reviewedBy

Array of GitHub usernames who performed validation.

A.7.1.4 dateReviewed

Format: YYYY MM DD. Null if not yet reviewed.

A.7.1.5 reviewNotes

Free text summary of review decision.

A.7.1.6 dateCreated

Format: YYYY MM DD

A.7.1.7 lastUpdated

Format: YYYY MM DD

A.7.1.8 lastEditedBy

GitHub username of last editor.

A.7.1.10 duplicateOf

String ID of canonical exercise if marked duplicate. Null otherwise.

A.8 Comments and Notes

A.8.1 commentsNotes

Type: array of strings
Required: yes (may be empty)

Contains additional tips, warnings, or clarifications.

Examples:

  • If wrist discomfort occurs, modify hand position.
  • Warm up before starting to reduce injury risk.

Statements must remain neutral and avoid medical prescription.

A.10 Extensibility

The schema is designed to be extensible. Future extensions may include:

  • Difficulty level
  • Estimated metabolic intensity
  • Contraindications
  • Population tags
  • Evidence references
  • Video content
  • Multilingual support

Backward compatibility must be preserved when extending the schema.

Home

OpenExerciseBase Documentation