I love running. Not only is it time-efficient and equipment-light, running is sport where consistency and effort are truly rewarded with incremental, quanitifiable progress.

When I was in high school doing XC and Track (well, mostly the "& Field" as I was a much better thrower than runner), I hated it. After being diagnosed with asthma at 20, I realized that being slow was normal, not being able to breathe when it was damp, or chilly...or near freshly-mown grass wasn't.

A couple of years later, I began running again, this time equipped with a gift of a GPS watch from my now-fiancée and I have not stopped, aside from time off due to injury, since then. As I started running consistently, and with emphasis on specificity and intensity (easy days easy, hard days hard), I started seeing significant and quanitifiable progress.

It was also the first time I was had data I cared about that I could dig in to — with apps (Smashrun, Runalyze, Strava), and on my own. This was a catalyst for leaving the insurance industry, as I realized that was what I wanted to be doing at work. In keeping with this (and the "runner who won't stop talking about running" trope), I presented a deep dive into a recent training cycle in the final round interview for my current role, using Statistical Process Control methodology to evaluate indicators of fatigue and overtraining.

See below for some running-related visualizations created with R (ggplot and Plotly):

Monthly distances over time. November of this year is the first time I've run more than the preceding October - I guess that's what happens when you didn't run the month before.

Race pace vs race distance, grouped by year of performance (recorded distances vary a bit within years for same races, due to GPS and course/route fluctuation). 2018 was a break-out year for both the Broad Street Run (10mi) and the Philadelphia Half Marathon (13.1mi)

My favorite: runs logged by distance, against day of week, week of year, and year. Sadly this is not interactive, due to data integrity issues associated with a long-standing ggplotly facet with "free axis" issue.