Sauce for Strava A browser extension that upgrades Strava with more stats and features
Sauce
Stock
Sauce for Zwift Overlay dozens of configurable widgets on top of Zwift
Hi I'm Justin

No relation to Jon Mayfield

Watching the Tour de France in 2019

If you're interested in how Sauce came to be, you've have come to the right place. The TL;DR is that Sauce was a side project that turned into a full time job for me. If you want to know the full history, keep reading.
First Known Screenshot
In 2015, after having recently retired from a startup company, I was riding bikes quite a bit and getting into Strava for the first time. While I loved the social aspects of Strava, like the segment leaderboards, I found it still lacked a few more nerdy features that I used in my racing days. Nothing that would be particularly difficult to implement. So without much thought, I slapped together a brutally simple Chrome Extension to add the things I wanted and published it to the Chrome Web Store.

The main feature was the Critical Power table, inspired by the great TrainingPeaks WKO software. For quite a while that was really it. I went back to full-time work in 2016, but kept making enhancements and adding things in my spare time. The Critical Power table became the selectable Peak tables which added heart rate, cadence, speed, and several other categories. Around then, I also changed the name from "Strava Sauce" to "Sauce for Strava™". I still hear old-school users call it the former.
By the end of 2019, Sauce had grown to several thousand active users, and I started seeing it show up in videos from YouTubers like Lanterne Rouge and NorCal Cycling. My "real job" was a startup building a privacy focused messaging platform; basically Slack with Signal encryption. We were unfortunately running out of money and didn't have enough revenue to keep operating, so as that door was closing, I decided I might as well put my full attention on Sauce and see what I could do with it.

As it turned out, 2020 was a really good year to start working from home! 😂

My main goal was to build a more complete analysis suite that could track all your training data, what became Sauce Performance, but also to build on the existing features with a renewed level of commitment. I launched a Patreon account and tied some of the new "Bonus" features to it. Sauce wasn't paying my bills by any means, but all signs were suggesting that the increased focus was working.
Sauce for Strava was reaching some good stability in 2021 and growth continued, reaching tens of thousands of users. Winter was approaching, marking the start of the Zwift season in Idaho. During one of my indoor sessions, while lamenting some missing features in Zwift such as time-gaps between groups and average power, I realized I could probably build something that did for Zwift what I was already doing for Strava. I had more time in my schedule to take on new developments, so I whipped up a proof of concept, uploaded it to YouTube and posted a message on Reddit to see if anyone was interested. The response was highly favorable and I started working on Sauce for Zwift immediately.

However, things were not especially smooth for this project in the beginning. Before I could even launch the first public version, Zwift reached out to developers in the community to let us know they were enabling encryption on their data protocol. While this was 100% the right thing for Zwift to do, it meant Sauce for Zwift, and dozens of other tools that extended Zwift, were dead in the water. We all used the same method of listening to the network data directly on the computer running Zwift, but this only works if there is no encryption.

A bit deflated by the whole situation, I reluctantly decided that this was the end of the road for any Zwift related software. I updated the source code repository to indicate it was inactive and made it available to the public with a GPL license.
Just before giving up completely, I had one fleeting thought. If you can use Zwift to "Fan View" another athlete, why couldn't I do the same thing? I'd have to write a Zwift-compatible game client from scratch, and I'd have to figure out their encryption protocol. Both of which I'd have no documentation or support for. But in theory, if the Zwift servers thought my software was just another game, connecting to watch another athlete, we would be back in action!

Thus began several months of head-down work to try and understand all the pieces involved. During this time, I had essentially no clue if I was going to be successful. The best way to describe this task is like trying to recreate a cake recipe but you don’t know which ingredients were used, have no idea about quantities, and can only ever see the original cake after it has been run through a blender. I won't bore you with the details, but let's just say I was reading a lot of assembly code and my former encryption experience was pretty useful.

Eventually, and to my utter surprise, I did get it working. I was able to successfully connect to the Zwift network, fully encrypted, and activate the "Fan View" mode that turns on the data stream. This was a real Eureka moment, and it was incredibly satisfying to know that so much effort was not wasted. There was still more effort to tackle the final 20%, but the hard part was over and I was able to start shipping early Betas soon after.
Since then, I've been building and maintaining both products full time. There is a vibrant Discord community for patrons. There is also a group of fine folks who build customizations on top of Sauce for Zwift in the form of Mods. Some of these have become very popular for the Zwift Racing League events.

It's been an amazing ride, and I seriously love what I do. If you're one of the many people that have supported Sauce over the years, I want to let you know I'm truly grateful.

Okay, back to it,
-Justin
Help feed my dog
...and me

People like Cody Rayl make this sustainable

Frank's hungry, you wouldn't let him starve would you?

Your generous support means I can continue to work on Sauce and avoid getting a real job.

Need help?
Questions?
Suggestions?

Don't Panic

The Discord server available to patrons is for the best place to talk shop. There are usually a few hundred people there, myself included, that have likely encountered whatever issue or question you have. It's also just a positive and fun place to hangout (very nerdy). ★★★★★

If you want to send me a suggestion or just chat about life, the universe, everything, then send an email to support@sauce.llc. I try my best to answer every email, but I can't make promises about turnaround time. ★★★☆☆

Sauce for Strava links: Sauce for Zwift links: