🔀 How to untangle and manage build distribution — Webinar, May 16th — Register
🔀 How to untangle and manage build distribution — Webinar, May 16th — Register

How Hinge Health transformed their mobile releases from distractions to non-events

company
Hinge Health has built a new kind of digital clinic for joint and muscle pain, combining expert clinical care and advanced technology to help patients move beyond pain, avoid unnecessary surgeries, and reduce opioid use.
headquarters
San Francisco, CA
industry
Healthcare
Mobile Team Size
120
Platforms
iOS and Android
Release Frequency
Biweekly
Integrations
GitHub, Bitrise, Sentry, Jira, Slack, Mixpanel

Hinge Health was founded in 2014 with the goal of making high-quality musculoskeletal (MSK) care accessible to everyone. Since then, they’ve built a new kind of digital clinic for joint and muscle pain: combining expert clinical care and advanced technology to help users move beyond pain, avoid unnecessary surgeries, and reduce opioid use.

Initially starting as an Android-exclusive app, they quickly expanded to iOS and their users rely on their services for necessary care. It isn’t an option for their apps to crash or act up, to be slow and buggy. Their engineers know how important it is to provide their unique customer base with the best possible experience and are dedicated to providing it. They know what it takes to efficiently build an excellent mobile app.

What brought them to Runway?

Challenge

Too many repetitive tasks that led to too much context switching

“Someone far in the past had made decisions about how our mobile releases should be done, and those decisions hadn’t been revisited or questioned for a long time.”

Klaus Komenda
Senior Engineering Manager

Around the time Hinge Health began thinking about the inefficiencies in their release process, they were essentially doing an in-house style of trunk-based development, triggering all their release builds from the main branch. In an ideal scenario when taking this approach, everything is perfect and there are no bugs and the new release rolls right out without any issue — making the process more straightforward than it might otherwise be. All engineers are happy.

But complications sometimes arose. Not even a deeply experienced mobile team like Hinge Health’s can avoid that. When the release build had bugs or problems, the lack of release branches made it difficult to pull in fixes without bringing additional work in as well, since the main branch was constantly changing and would quickly get out of sync with the release build. How could they make sure bugs could be fixed on the release candidate build without impacting the development workflow of the main branch?  

On top of this, their process for managing a release was a very manual one, requiring dozens of pages of detailed and comprehensive documentation and constant context switching. Engineers were jumping from tab to tab to tab and from Slack conversation to Slack conversation to get everything ready, spending hours tackling tasks that they just badly wanted to finish — so they could forget all about it until their turn to manage a release came up again, hopefully much later into the future.

“Every engineer took their turn managing releases. When my turn came around, I always wanted to just get it done and stop thinking about it. There was no incentive to make improvements since it was going to be someone else’s problem soon enough.”

Oak Chantosa
Senior Software Engineer

To try to improve the situation, senior team members began writing scripts to automate some of the manual work, but this just created new types of work. Release managers had to find the right script, run it, then deal with any problems that came up on the occasions that the script didn’t quite run right. It was clear that a more comprehensive solution was needed.

Solution

Establish a release process that wasn’t so manual and nerve-wracking  

Hinge Health needed to tackle two areas in order to fix their releases:

  • Revamp their development process, moving from a single branch trunk-based strategy to a trunk-based with release branches strategy.
  • Add more robust automations to their process so that engineers didn’t have to take on so much manual work when their turn in the release cockpit came around  

There was a clear, if also very involved, path for addressing the first item and they started there. But as they were digging into that work, they heard about Runway.

“We were revamping the release process and, by coincidence, a colleague sent me a link to Runway. The timing was both good and bad. I was already rethinking our release process, and that was complicated enough without also bringing in a new tool. But I took a look and immediately liked what I saw.”

Fabien Demangeat
Staff Software Engineer

The engineering team had taken on some very involved changes in how they handled their entire development process, and what they liked immediately about Runway was how clearly it could be plugged directly into the changes they were already making. This presented a clear opportunity to improve all the long term issues with their release process without taking on a ton of extra work to do so.

Runway’s automations were a big improvement over the scripts they’d previously written, as they didn’t rely on a clunky manual process and were capable of handling a much broader number of tasks than their own bespoke automations could.

For example, something that really stood out was Runway’s ability to handle staged rollouts on Android. Release managers at Hinge Health had been doing staged rollouts by hand, following a multi-page guide that laid out what to do each and every day to manually increase the rollout percentages while checking to make sure performance was at a good enough level to confidently  continue the rollout. Seeing that Runway fully automated this — even halting rollouts if there were any problems — was very appealing. No one would need to repeatedly visit the Play Console and do this manually ever again.

“Runway showed us a better way to do releases, and we were very ready to rethink the way we were doing ours. Running just one Runway-centric release was already a game changer for us.”

Oak Chantosa
Senior Software Engineer

Results

Releases went from being big, notable, worrisome, stressful events, to non-events that just happen

Runway has since become a mainstay of Hinge Health’s release process, delivering on the promise and potential of those first impressions. It has drastically reduced the amount of cognitive load and attention that the process of keeping releases on track had previously required, making mobile release management a part of the job that requires little to no brain power.

“Runway helped us transform releases from being an “event” and a distraction to a non-event where most of the work just happens in the background.”

Klaus Komenda
Senior Engineering Manager


Runway has done more than automate many of the manual tasks that their mobile engineers used to take on. It’s also become a single source of truth, providing the entire org with a dashboard where they can review their entire release history and collaborate on current work with ongoing releases. No more going from person to person to check in on the progress of work, or accidentally doing the same work someone else already did, or digging through Slack threads to find some key piece of information from a conversation that happened a week ago. It’s all in Runway and easily available for anyone to see.

“Initially, there was one engineer who wasn’t sold on Runway and wondered if we could build it internally. Could we? I guess we could. But looking at everything Runway does, it would be an incredible and ongoing effort. Runway is just so valuable. (And that one engineer has since come all the way around!)”

Oak Chantosa
Senior Software Engineer

Runway has become a full partner in aiding Hinge Health as they get each and every one of their releases out the door. What once required engineers to read through several dozen pages of documentation each time their turn to manage a release came up, now entails opening up Runway and watching a release largely run itself.

“We onboarded a new release pilot and he was like, ‘wow, this is magic.’”

Fabien Demangeat
Staff Software Engineer

‍

Release better with Runway.

Runway integrates with all the tools you’re already using to level-up your release coordination and automation, from kickoff to release to rollout. No more cat-herding, spreadsheets, or steady drip of manual busywork.