Methodology & Data Sources
Editorial Workflow
Content on PlainExercise is built from open-licensed source data. Raw data from Free Exercise DB (CC0) and wger.de (AGPL) is normalized into a consistent structure; narrative framing, common mistakes, safety notes, progression paths, who-it-is-for guidance, muscle and equipment taxonomy reconciliation, is generated from the structured record and the source instructions, anchored to the source rather than invented. Reference terminology aligns with NIH/NLM MeSH and CDC physical activity guidelines. Where the upstream source is ambiguous, the field is annotated or omitted rather than guessed, and synthetic equipment variations are clearly marked as generated.
We do not accept payment for coverage, placement, or rankings. PlainExercise publishes educational reference material - not medical, physical-therapy, or personal-training advice.
Our Data Sources
PlainExercise is built from two open-licensed public exercise corpora. We do not scrape commercial sites, influencer blogs, or closed training platforms. Everything on this site traces back to one of:
- Free Exercise DB - a public-domain dataset (CC0) maintained at github.com/yuhonas/free-exercise-db. It documents roughly 800 exercises with fields for name, force type (push/pull/static), level (beginner/intermediate/expert), mechanic (compound/isolation), equipment, primary muscles, secondary muscles, category, and step-by-step instructions.
- wger.de - an AGPL-licensed open-source workout and nutrition platform whose exercise dictionary we consult as a cross-reference for muscle groupings and equipment taxonomy. Source: wger.de.
Both datasets have been under active maintenance for years, and both are widely used in the open-source fitness community. We chose them because their licenses permit free redistribution (with attribution, in wger's case) and because their data quality is observably higher than most scraped alternatives.
How We Curate and Normalize the Data
We transform raw upstream data into searchable pages through the following stages:
- Download. We pull the latest release of Free Exercise DB and the wger exercise dictionary. Downloads are tracked by release hash so we can reproduce any build.
- Merge and deduplicate. Exercises with matching normalized names are merged. Where upstream sources disagree on muscle targeting, we retain Free Exercise DB as the primary spine and flag the conflict for editorial review.
- Slugify. Every exercise receives a URL-safe slug derived from its name (e.g., "Barbell Back Squat" → "barbell-back-squat"). Slugs are stable across rebuilds so deep links do not break.
- Infer muscle taxonomy. We reconcile the two sources' muscle lists into a single canonical taxonomy of 20 muscle groups (quadriceps, hamstrings, chest, biceps, and so on). Each exercise is tagged with one primary muscle and zero or more secondary muscles. Where evidence is mixed, we favor the more conservative tagging, a biceps curl is classified as biceps-only even though forearm flexors also work.
- Generate variations. For each parent exercise we compute plausible equipment variations (e.g., "barbell bench press" → "dumbbell variation", "resistance band variation", "bodyweight variation"). Variations are synthetic, they are not separately sourced, and are clearly marked as such on the detail pages.
- Assemble workouts. Workouts are pre-built routines constructed from the exercise corpus along three axes: goal (strength/hypertrophy/endurance), level (beginner/intermediate/advanced), duration (20/45/60 minutes), and equipment profile (no-equipment/home-gym/full-gym). The exercises in each workout are chosen deterministically from the database.
- Frame with editorial context. Every exercise detail page gets an original "Common Mistakes", "Safety Notes", "Who This Is For", and "Progression Path" section written by our editorial team. These sections are never scraped and are the primary value-add over the raw source data.
- Index. The final database is loaded into a read-only SQLite file with full-text indexes on exercise name, muscle, and equipment. SQLite is served inside the application container for single-digit-millisecond query latency.
Data Currency and Update Schedule
Exercise taxonomy moves slowly. A bench press in 2000 is the same bench press in 2026. We refresh the underlying database on an opportunistic basis, typically when:
- Free Exercise DB publishes a new release with added or corrected records.
- A reader reports a tagging or instruction error that we confirm.
- We add a new entity type (e.g., a new workout goal or equipment profile).
Editorial content is reviewed at least annually by the PlainExercise editorial team. Each exercise detail page carries a "last updated" footer so you can tell at a glance when the framing was last touched.
Known Limitations
- No individualized programming. Our workouts are templates, not personal training plans. They cannot account for your unique goals, injury history, recovery capacity, age, training age, sleep, or nutrition. If you want a plan built for you, hire a certified strength coach.
- No video or visual demonstration. Step-by-step text is our medium. For movements where proper technique is critical to safety (heavy squat, deadlift, Olympic lifts, power cleans), a text description is a starting point, not a replacement for in-person coaching.
- Synthetic variations. Variation pages combine a parent exercise with an alternate equipment profile. These are algorithmically generated and a few may not make practical sense (e.g., a "cable variation" of a bodyweight pistol squat is nominally valid but rarely useful). We flag edge cases in the variation notes where possible.
- Coverage gaps. The Free Exercise DB is comprehensive for common strength and conditioning movements but under-represents certain niches (rehab exercises, athletic plyometric drills, obscure kettlebell flows). We document what we have and do not attempt to fabricate coverage we don't.
- English-only. We publish in English only. Translations are not in scope.
Medical Disclaimer
This site does not provide medical, physical-therapy, or personal-training advice. Exercise carries inherent injury risk. Consult a physician or certified trainer before starting any new exercise program, especially if you have pre-existing medical conditions, recent surgery, cardiovascular concerns, joint injuries, or are pregnant. Discontinue any exercise that causes sharp or persistent pain.
Attribution and Licensing
Raw exercise instructions derived from Free Exercise DB retain their upstream CC0 license and need no attribution to us. Data derived from wger.de is used under the AGPL. Our original editorial content - guides, common mistakes, safety notes, progression paths, site design, is copyright PlainExercise but may be quoted briefly with attribution and a link back to the original page.
Frequently Asked Questions
Where does PlainExercise's data come from?
All exercise records come from two open-licensed public corpora: Free Exercise DB (CC0, public domain) and wger.de (AGPL). Reference terminology aligns with NIH/NLM MeSH, peer-reviewed exercise science literature, and CDC physical activity guidelines. We do not scrape commercial sites or influencer content.
How often is the reference reviewed or updated?
Exercise taxonomy moves slowly, a barbell squat in 2000 is the same barbell squat in 2026. We refresh the underlying database opportunistically when Free Exercise DB publishes corrections or additions, when a reader reports a confirmed error, or when a new entity type is added. Editorial content (guides, mistake lists, safety notes) is reviewed at least annually. Each detail page carries a "last updated" footer.
How do you verify accuracy of exercise instructions?
Every record merges data from Free Exercise DB (primary spine) and wger.de. Where the two sources disagree, the conflict is annotated rather than silently resolved. Synthetic equipment variations are algorithmically generated and clearly marked as such. Editorial framing, common mistakes, safety notes, progression paths, is generated from the structured record and the source instructions, anchored to the source: no instructions are fabricated, and where the upstream source is ambiguous, the field is annotated or omitted rather than guessed.
Is this medical or training advice?
No. PlainExercise is a structured educational reference, not medical, physical-therapy, or personal-training advice. Exercise carries inherent injury risk. Consult a physician or certified trainer before starting any new exercise program, especially if you have pre-existing medical conditions, recent surgery, cardiovascular concerns, joint injuries, or are pregnant. Discontinue any exercise that causes sharp or persistent pain.
Contact
Questions, corrections, or methodology feedback? Email hello@plainexercise.com or use the contact form.