80/20 Endurance Workout Import Tool

I wanted to share a tool I created to populate my workout library with Run, Bike and Swim Workouts from Matt Fitzgerald’s public 80/20 Endurance workouts. They serve .FIT files for plans you can buy or use from the books/audiobooks, but they don’t import nicely into intervals.icu. This tool uploads the 479 workouts at once (currently for imperial system (miles) users swimming in 25y pools). I hope this saves someone some time. :slightly_smiling_face:

3 Likes

Works like a charm.
Just one thing I needed to install puppeteer with “bun install puppeteer” manually.

Thank you !

1 Like

Interesting… I wonder why the other dependencies in package.json worked but not puppeteer :thinking:

Glad it worked for you!

Thanks @niqwis, you have saved me a lot of time setting these up!

Any idea why the RHR 1 and RFF 1 Workouts are so weird (45 Minutes with a Lot of Z2). I know they are the same on the website, maybe one of you knows ?

RFF1 looks normal to me:

-8020/Z1 5m Z1 HR intensity=warmup
-8020/Z2 15m Z2 HR intensity=active
-8020/Z3 5m Z4 HR intensity=active

I don’t think the lengths are intended to correlate perfectly to the workout code, but I do see that RHR1 has bouts of 8020/Z3 which should be 8020/Z5 based on the text description. I have caught other typos in the .FIT files, so it is likely another.

Hi, I am having an error with this tool. I am not too experienced with this so I am hoping you can help me out. I have copied the error into a file here: https://file.io/xml0RxEfhiKx

Any idea what I need to do?

Thanks!

Seems like a bun issue; you may need to delete the bun lock file and try again, or you might find luck here:
Bun install (esbuild [1/2] error: failed to fill lifecycle scripts for protobufjs: ENOENT) · Issue #10423 · oven-sh/bun (github.com)
Otherwise, you might try to run the project with node.js (I have not tried this).