The Fragmentation Problem
Every fitness platform speaks a different language
User Lock-in
Switch apps, lose everything. Years of PRs, workout history, and progress vanish. Data hostage in proprietary formats.
Developer Overhead
Building from scratch or adding integrations? Either way, you're defining exercise models alone. No shared vocabulary to build on.
Ecosystem Fragmentation
Apps cannot interoperate. The same exercise has different IDs, names, and structures everywhere.
See the Difference
The same exercise, "Back Squat", represented across different platforms
{"exercise_id": "ex_12847","exercise_name": "back_squat","muscle_groups": "quads,glutes,hamstrings","equipment_list": "barbell,rack","difficulty": 3,"is_compound": true,"created_date": "09/02/2025"}
{"schemaVersion": "1.0.0","exerciseId": "550e8400-e29b-41d4-a716-446655440000","canonical": {"name": "Back Squat","slug": "back-squat","description": "A compound lower body exercise..."},"classification": {"exerciseType": "strength","movement": "squat","mechanics": "compound","level": "intermediate"},"targets": {"primary": [{"id": "mus.quadriceps","name": "Quadriceps"}],"secondary": [{"id": "mus.hamstrings","name": "Hamstrings"},{"id": "mus.erectorSpinae","name": "Erector Spinae"}]},"equipment": {"required": [{"id": "eq.barbell","name": "Barbell"},{"id": "eq.rack","name": "Power Rack"}]},"metadata": {"createdAt": "2025-09-02T15:00:00Z","updatedAt": "2025-09-02T15:00:00Z","status": "active"}}
Why FDS?
Real scenarios where a common standard makes the difference
User Data Portability
User wants to switch fitness apps
Years of workout history lost. Manual re-entry or data trapped forever.
Export once, import anywhere. Complete history travels with the user.
Developer Efficiency
Building a new fitness app or adding integrations
Reverse-engineer each platform. Maintain N different parsers and mappers.
Build to one standard. Instant compatibility with all FDS-compliant platforms.
Platform Growth
Acquiring users from competing platforms
High switching friction. Users reluctant to lose their data.
Seamless migration path. Lower barrier to user adoption.
Data Aggregation
Combining data from multiple fitness sources
Write N different parsers. Constant maintenance as formats change.
Single normalized format. Consistent data structure across all sources.
How FDS Works
One standard replaces countless point-to-point integrations
Each platform writes one exporter and one importer. FDS handles the translation, so you integrate once and connect to everyone.
Schema Transformer & Validation
Automated mapping from your existing schema to FDS format. Optional AI assistance fills gaps when source data fields are missing.
Built-in Extensibility
Add custom fields without breaking compatibility
Vendor Namespaces
Prefix custom fields with x:yourapp. to add platform-specific data that travels with the standard.
Safe Extensions
Other platforms ignore unknown namespaces. Your custom data never breaks their imports.
Round-trip Preservation
Extensions survive export → import cycles. Data you add comes back intact.
Quick Start
No SDK required. Start with the JSON Schema.
Model Your Data
Structure your exercise data using the FDS format. Start minimal, expand as needed.
Validate
Use any JSON Schema validator (ajv, jsonschema, etc.) to ensure compliance.
Validation Guide →{"schemaVersion": "1.0.0","exerciseId": "550e8400-e29b-41d4-a716-446655440000","canonical": {"name": "Back Squat","slug": "back-squat"},"classification": {"exerciseType": "strength","movement": "squat","mechanics": "compound","force": "push","level": "intermediate"},"targets": {"primary": [{ "id": "mus.quadriceps", "name": "Quadriceps", "categoryId": "cat.legs" }]},"metrics": {"primary": { "type": "reps", "unit": "count" }},"metadata": {"createdAt": "2025-09-02T15:00:00Z","updatedAt": "2025-09-02T15:00:00Z","status": "active"}}
What's in the Standard
Everything you need to build interoperable fitness applications
Exercise Data Model
Comprehensive exercise definitions with classification, muscle targets, equipment, and media assets. RFC-001 defines the core structure.
Learn more →Registry Entities
Standardized equipment, muscle, and body atlas models. Shared taxonomies for consistent data exchange across platforms.
Learn more →Extensibility
Platform-specific extensions without breaking compatibility. Vendor namespaces and attribute system for custom data.
Learn more →JSON Schema
Draft 2020-12 schemas with validation rules and examples. Programmatic validation for all entity types.
Learn more →Internationalization
Multilingual support with BCP 47 language tags. Localized names, descriptions, and aliases for global accessibility.
Learn more →Open Governance
Community-driven RFC process with transparent decision-making. Contribute improvements and propose new features.
Learn more →Ready to integrate FDS?
Start building interoperable fitness applications with standardized data models.
Start with exercise data today. Workout templates, progress tracking, and more planned in future RFCs.
We're seeking early adopters to shape the standard. Implement FDS, share feedback, and help build the foundation for fitness data interoperability.
Become an Early Adopter →