Orangetheory Fitness was created to solve a problem.
As an exercise physiologist,
I wanted to use the science to create heart-rate-based successful programming
for all levels of our members.
We're collecting a lot of data.
We want to push the envelope with technology.
And so they can come in to a very supportive, fun fitness environment.
Every successful business starts with a great idea.
Today, moving from concept to reality is easier than ever before.
Join us as we travel around the world and meet developers, architects, and innovators
to learn how they are building on the AWS cloud.
Welcome to ‘This is My Architecture’.
I'm Liz Dennett. I'm a solutions architect at AWS, and today I am here at Orangetheory Fitness.
In just 10 years since its inception, Orangetheory Fitness has amassed
more than a million members, a billion dollars in revenue,
and encouraged countless people to become healthier versions of themselves.
This is in no small part due to their impressive use of technology
and I'm curious how they do it.
Let's go find out.
Four years ago, we embarked on this journey.
This, what I would call, technology transformation.
So, the cloud played a major role.
We used the AWS platform to create a very unique Orangetheory ecosystem.
So, in the actual studio itself, we have, what we call, connected fitness equipment.
That connects our members to the actual physical equipment
and all the data on those platforms.
We also have the wearables.
So, the wearables helps us connect our members' vitals to the workout.
We chose AWS as the foundation
and to use AWS as a template to build our proprietary technology
that drives the Orangetheory member experience.
There's something special about the Orangetheory Fitness experience.
Members love the way the workouts are designed and the unique excercise environment.
To find out about the motivation behind Orangetheory Fitness, I meet with CEO and Co-founder David Long.
Orangetheory has changed so many lives around the world.
What do you think is the secret to that success?
From the inception of Orangetheory, we demanded that it be results-based.
Then we fold in the science-backed programming,
the technology tracking that tracks the data, tracks the heart rate
and reports that real-time feedback.
And then the coaching which leads and inspires the members,
holds them accountable,
and what happened is this really organic community layer on top of all that
and just created a really powerful formula where you might see folks out there doing pieces of that,
but it's a combination of all that together.
And so, when you think about the way we track data, the way that we coach them,
every member has their own personal journey they're on.
They're given coaching on where to walk, jog, or run,
how to increase that overtime.
All that data is aggregated in the mobile app,
so overtime, they're watching, and they're seeing their personal experience
and how they're making these drastic improvements in fitness.
So, that's the point that's really powerful
'cause it really helps pave the way for them creating an exercise habit.
So, how does Orangetheory work?
So, we're looking for what we call Splat Points.
So, a Splat Point is when the human heart is beating over 84%.
That is called an anerobic condition.
All you need is 12 Splat Points at the end of the entire hour in order to get what's called afterburn.
I could take a short period of time of cardiovascular training
and by doing intervals, I only need to complete 12 minutes
to get an afterburn effect.
And they're able to see it with our technology, very simple.
I got 12 Splat Points. All you need is 12 to 20 by the end of the hour.
Members receive a proprietary heart rate monitor,
or they have an Apple Watch they can use OTbeat Link to sync to their existing device.
All of this data, some might say, is at the heart of Orangetheory's success.
Each member generates more than 54,000 data points in a single 1-hour class.
And this data isn't just collected from a single location,
but instead, it streams simultaneously from over 1,000 locations around the globe.
This is data ingestion at a mammoth scale and I want to find out exactly how that's done.
So, today, I'm joined with Pedro to do just that.
Can you walk me through, at a high level, how this works?
Sure. So, we have clients either in the studio, which is this group right here,
and the mobile ones. Right?
I'll talk to you a little bit about the studio first.
These are really interesting stories here.
So, we have all these heart-rate monitors that are talking in a local network
and we also have our fitness equipment, which are equipped with our own tablets
which we've designed and built.
And both of those are collecting data as the workouts go.
So, all that data goes into a local machine that aggregates it
and also serves as a resiliency point
because the studios need to be able to work even if they lose connectivity to our back ends.
So, the studios can complete classes all on their own without having to have connectivity in the back end.
Then we have our mobile app and that serves a couple of functions.
The main function that it serves is to allow our members to book their classes,
and to also show them what classes are upcoming and the history of their classes.
They can also view workout results
from their prior workouts that they've done in the studio
as well as do, what we call, out-of-studio workouts.
So, the member can use their heart rate monitor and start different types of workouts in the mobile app,
and those will be collected and also sent to our back end.
So, how does it work?
If I go to a class, I sweat,
and then I'm able to look at it and see my data from the class,
how does it go from the studio to my cellphone?
Right, so, this computer that I mentioned which is gathering all the information as the class is ongoing
will also communicate to API Gateway and authenticate it, using Cognito, right?
So, we use Cognito for both authenticating the studio computers
as well as authenticating the member on their mobile app, right?
So, the data flows, whether it's an in-studio or out-of-studio workout,
flows through API Gateway and then flows through our Lambdas or our EC2
and then gets stored in our databases.
There's also second-by-second telemetry that we are able to send through Kinesis Firehose
and ultimately land, again, in our data lake. --Wow.
So, all of these points eventually wind up putting all that member data into our data stores.
And then the member is able to authenticate, look up the class,
and see their results, whether in or out of studio.
And have there been any challenges with scaling this to over a million members across the globe?
The scalability of serverless has allowed us to go both up and down.
While our mobile app has been rolled out to, like you said, over a million members worldwide,
these APIs needed to scale up and they did just that.
The scalability of the service just took care of that for us.
So, we have both the studio components and the mobile components.
How does Cognito integrate with those?
So, the member has a single account across all of our environments,
so they can log in to the mobile app as well as our soon-to-be-available OTlive environment,
using their Cognito authentication.
For our staff, we also rely on a single account
where they can log in to our back end systems using Cognito.
All right, so how exactly does it work if I am on a treadmill, sweating?
How does a coach, standing a few feet away from me, have access to my heart rate data and the treadmill data?
Yeah, great question. So, as I mentioned,
we have, in the studio, these heart rate monitors which we've designed and built ourselves,
and they're communicating in the local network.
So are the tablets that are attached to the fitness equipment.
And both of those communicate with this computer that is running in the studio.
And there's a big screen, as you've seen in our studios,
showing you what your heart rate zone is, percentage, your Splat Points, etcetera.
--Yes. --So, all of that, it's been calculated locally
in real-time, based on those metrics, being displayed both to the member and the coach.
That's incredible. Thank you, Pedro.
Thank you very much.
I always have said that "what you do not measure you cannot improve".
I've been in the fitness industry for over 40 years.
That's a long time.
I've seen people so desperately wanting to use various forms of fitness to become better,
but there really was no way to really quantify,
"Am I getting better from doing this form of exercise?"
The most exciting thing is that we are proving that our workout works.
We're saying, "You did the same program a month ago.
You did a 1-mile run a month ago,
and right here you've seen you've shaved 3 minutes off of that,
and your heart rate performed at this."
That is proving to you that you're a healthier human being.
As you can see, the orange lights are much more invigorating and enthusiastic
than the cold, sterile environments I typically associate with working out.
On the screen behind me, there's a variety of metrics,
including heart rate, calories burned, percent of maximum heart rate zone,
and a thing called Splat Points.
Now, you get one Splat Point for every minute your heart rate is in the optimal orange zone.
Hence the name Orangetheory.
Now, if you'll excuse me, I've got to get my workout on.
All the data is pushed to our members and our coaches in real-time during the workout.
The member's never competing with other people.
It's always about their data, their vitals, and their experience.
Now that I've experienced the workout myself,
I want to dive a little bit deeper into just how Orangetheory Fitness manages this massive amount of data.
So, Orangetheory has a lazer-sharp focus on data.
What inspired you to join the team here?
I've always been really passionate about data and how it can be leveraged as an asset for an organization.
So, this was really an attractive opportunity for me.
When I met with our CTO, Joe, initially,
he basically showed me a blank whiteboard and he said,
"Here's where we're at now."
He then showed me the 5-year plan and the vision from our senior leadership team,
and it excited me right away.
And he said, "This is what you're going to help us do."
So, needless to say, I said, "Sign me up."
We got to work quickly, we built out our teams,
and we started realizing that vision as each day passed.
Was there one particular challenge that really spoke to you initially?
Yeah, I think, intially, when I saw the landscape and realized we had a lot of data,
the problem was that the data was all over the place.
So, how do we bring that together and really leverage it
to be benefitial for the business
and to drive our application development and innovation?
Awesome, so let's dive into this data.
How does data flow through this architecture?
So, we use a very modern serverless architecture.
We utilize APIs very heavily in this environment.
What you're looking at here on the left is our application layer.
So, within this, we have a few third-party integrations for critical systems.
We also have several in-house platforms that do a lot of essential functions.
All of the communication into Orangetheory down to our data layer
goes through Lambda API calls.
What you're looking at here would be the interface between here and our data layer.
So, these are our different and various data stores where we house our data.
So, in this data layer here, I see several different database options.
Can you walk me through what those are doing? --Sure.
We're leveraging Aurora RDS MySQL for our transactional data layer.
So, that has a lot of common data points, member profiles, classes, studios.
DynamoDB, we're using a NoSQL solution for our hot data.
This is things like performance data, workout statistics,
things that we need to be able to get back to our apps very quickly.
So, what design considerations led you to choose both types of databases
instead of just choosing one?
So, we're firm believers in the right tool for the job.
So, for us, we had a lot of dynamic use cases,
so we didn't select one single technology solution.
We figured out a way to pair the best possible combinations of things together.
So, DynamoDB for our document storage,
really fast-performing data that you need to get back through to the apps and API calls.
Data at rest, or data that's shared across platforms that needs to be in-sync,
we went with Aurora RDS MySQL.
For the second-by-second telemetry, it's really a lot of data.
So, this second-by-second data streams in near real-time through Kinesis Firehose
and we're landing that into the S3.
We have a traditional data lake pattern there,
different buckets for different things.
That goes in in a raw format.
We can then later process that down the line in many various ways
to data warehouses and other analytics data stores.
Also, we push up a summarized version of that telemetry.
So, after each workout, you get a summary of what you did,
we have the history of what you've done in the past,
and that's what is readily available in DynamoDB to be called back to the apps, like the mobile app.
So, when I check my phone after a class and I see that I've earned so many Splat Points,
where does that data come from here?
So, the data for that is actually coming from DynamoDB,
reading directly back to the mobile app.
Basically, we aggregate those statistics directly after a class
and push those into that hot storage so that it's readily available the second it hits the database.
Then what's coming from the Aurora right there?
So, Aurora is used to house the common supporting data for the mobile app.
This is where we would have the member profile, the studio and class information for you to book into,
and your membership purchase history.
So, what made you decide to use S3 as your data store here?
So, we definitely wanted to take a data lake approach to putting all of our data together.
S3 was extremely lucrative for us because it's very durable,
it's very economical, and you can really can store a lot of data there.
We're pumping data from Aurora into that,
obviously, what I mentioned earlier, through Kinesis Firehose,
which is probably our biggest data set.
But we also plug in a lot of third-party integrations into S3.
So, really, as you can see, it's really a hub for joining all the data together,
and it's very seamless and easy to plug it into all areas of our applications.
It's great to see how you can maintain your laser-sharp focus on data here.
Yes, and we're super excited about the future here at Orangetheory
with what we're going to do with that data.
It's always going to be front-and-center in everything that we do.
Well, thank you so much for having me today, Justin.
Thank you for being here.
I enjoyed talking about our architecture.
I think the misconception is that technology brings people farther apart.
When we think about the Orangetheory brand,
we actually leverage technology to free up members and the coaches
to actually have more time engaging with each other.
So, the more information we can give a coach before, during, and after a session,
same with the member, they're empowered with that knowledge and their freed up
to actually propel themselves farther.
We want to create healthier systems in the human body
and we measure that with our technology.
When you have purpose, everyone's excited about it.
Everyone has, what I call, a believe-in, not necessarily a buy-in.
When you're a company that has a believe-in, you start to create a very strong culture.
Let's check the app and see how I did.
Eleven Splat Points.
Not bad for a first-timer, but I look forward to continuing to improve.
Plus, using the Orangetheory app, I can book my next class immediately,
which I'm going to do right now.
And as we saw today, having a laser focus on data isn't just paid evidence with your IT team
but can help to improve the member experience, which is what it's all about.
Thank you for watching ‘This is My Architecture’. We'll see you next time.