Structured Workout Format¶
A flexible JSON format for parametrized, structured workouts.
Why SWF?¶
The Structured Workout Format (SWF) is a JSON-based standard for representing structured workouts. We know what you're thinking - "Not another standard!" (and yes, we've seen that XKCD comic about standards too). But hear us out: SWF is designed to be the friendly translator between different training platforms and applications. Think of it as the universal language that helps developers support multiple training formats.
Quick Example¶
Here's a simple interval workout in SWF format:
{
"title": "4x4 Intervals",
"description": "Four 4-minute intervals with 2-minute recovery",
"content": [
{
"type": "section",
"name": "warm up",
"content": [
{
"type": "interval",
"volume": {
"type": "constant",
"quantity": "duration",
"value": {
"reference": "absolute",
"value": 600
}
},
"intensity": {
"type": "constant",
"quantity": "speed",
"value": {
"reference": "absolute",
"value": 2.5
}
}
}
]
},
{
"type": "section",
"name": "main set",
"content": [
{
"type": "repeat",
"count": {
"type": "constant",
"quantity": "number",
"value": {
"reference": "absolute",
"value": 4
}
},
"content": [
{
"type": "interval",
"volume": {
"type": "constant",
"quantity": "duration",
"value": {
"reference": "absolute",
"value": 240
}
},
"intensity": {
"type": "constant",
"quantity": "power",
"value": {
"reference": "absolute",
"value": 300
}
}
},
{
"type": "interval",
"volume": {
"type": "constant",
"quantity": "duration",
"value": {
"reference": "absolute",
"value": 120
}
},
"intensity": {
"type": "constant",
"quantity": "power",
"value": {
"reference": "absolute",
"value": 150
}
}
}
]
}
]
}
]
}
LLM-friendly guide¶
To help AI systems like Cursor, ChatGPT, Claude, and Copilot understand the Structured Workout Format, we’ve created an LLM-friendly guide. To use it, add this link to your AI helper: /llms-ctx.txt
This file is in a format based on recommendations from Anthropic for use with Claude Projects.
If you use Cursor, type @doc
then choose “Add new doc”, and use the /llms-ctx.txt link above.
The context file is auto-generated from our llms.txt (our proposed standard for providing AI-friendly information)—you can generate alternative versions suitable for other models as needed.
About¶
SWF is an open initiative by SweatStack for sharing workouts across platforms. We think the fitness industry works better when platforms can exchange structured workouts, regardless of the underlying system.
Want to contribute or integrate SWF into your app? Get in touch.