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_01HZY3Q7Z3W8K2QFJ6V9B1T8M4A.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.
OpenExerciseBase Documentation
