FitLang is a human-readable markup language for defining workout programs and training sessions.
Design Philosophy: Human readability first, with lightweight markup that enhances rather than interrupts natural workout descriptions and being locked into traditional spreadsheet applications that can be too rigid and closed data formats to allow for sharing and interoperability.
This is just a simple example to show the language's flexibility. You can read the detailed language specification to learn more about all of its features.
Download or write a program file as a simple text file like basic-12-weeks.flp
in any text editor.
// This creates: Day1-Day2-Day3-Rest-Day1-Day2-Day3, repeating for 12 weeks
>> 12-Week Push/Pull/Legs Program %12weeks
#day1 >> Push Day
@bench press{4x8@75%} with ~3min rest between sets.
@overhead press{3x10@moderate}
@tricep dips{3x12@bodyweight}
#day2 >> Pull Day
@pull-ups{4x6@bodyweight} or @assisted pull-ups{4x8}
@bent-over rows{3x10@moderate}
@bicep curls{3x12@light}
#day3 >> Leg Day
@squats{4x10@80%}
@lunges{3x12 each leg@bodyweight}
@calf raises{3x15@bodyweight}
#rest >> Rest Day
Light @walking{20-30min} or complete rest - listen to your body!
Start training and track your results in another simple text file like competition-prep-12-weeks.flt
or any of the FitLang-compatible apps*.
// This creates: Day1-Day2-Day3-Rest-Day1-Day2-Day3, repeating for 12 weeks
>> 12-Week Push/Pull/Legs Program %12weeks
@2025-01-15 #day1 >> Push Day
@bench press{4x8@75%} with ~3min rest between sets. -> completed{4x8@135lbs} RPE:7 "Felt strong today"
@overhead press{3x10@moderate} -> completed{3x[10,9,8]@65lbs} RPE:8 "Last set was tough"
@tricep dips{3x12@bodyweight} -> completed{3x12@bodyweight} RPE:6
@2025-01-17 #day2 >> Pull Day
@pull-ups{4x6@bodyweight} or @assisted pull-ups{4x8} -> modified{4x[6,5,4,3]@assisted} RPE:8 "Used assistance band"
@bent-over rows{3x10@moderate} -> completed{3x10@70lbs} RPE:7
@bicep curls{3x12@light} -> completed{3x12@25lbs} RPE:5
...
Currently this is all just a specification, but you can feel free to start using this as plain text files. Over time I hope to have FitLang-compatible mobile and web apps, but this shouldn't stop anyone from using this format to create/track/share training programs!
All content on this site is CC BY-SA. All code for this site is GPL. Made by Blain Smith.