Skip to main content

Code Audit in Preparation for a Rails Upgrade

Jae Jin, TuneCore Artist
Company Type
Artist Services and Music Distribution Platform
Location
New York City
Challenge
Ruby on Rails Platform upgrade
Solution
Ruby on Rails, team interviews
Outcome
Code analysis, upgrade and process recommendations

TuneCore is the global platform for independent musicians to build audiences and careers. They allow musicians to upload their work and automatically connect with over 150 digital stores and streaming services around the world, including Amazon, Apple, and Spotify. TuneCore is the only global platform with the tools, insights and services to meet all of an artist’s needs across revenue, promotion and distribution.

Artists subscribe to TuneCore to get their music on all the global music platforms, and allows them to keep the revenue earned from all of their streaming and downloads, along with the rights to their music. TuneCore empowers artists to distribute and market their music in ways they never could before, and keep the earnings from their success.

“ thoughtbot brought an efficient and organized approach to analysis and development practices. Their methodology can help any company achieve its objectives. ”

Neil Bhay, VP of Technology, TuneCore Neil Bhay, VP of Technology, TuneCore

Challenge

TuneCore launched its distribution platform in 2005 with a Ruby on Rails technology stack. When TuneCore’s new VP of Technology joined the company in 2018, the company saw the need to upgrade its code base to the latest version of Rails, reduce technical debt and plan new feature developments.

Knowing that hiring the right team quickly would be a challenge, they sought partners with the experience to help support and execute their plan.

Solution

To reduce risk and expedite the project, TuneCore’s VP of Technology began a search for an outside team with experience and results in Rails upgrades.

thoughtbot came recommended through a lead engineer at TuneCore. thoughtbot has a long history of working with Rails applications and conducting similar upgrades, with extensive documentation of their experience.

TuneCore tasked the thoughtbot team with analyzing their code and providing recommendations for the upgrade strategy at the end of the engagement. Two thoughtbot developers joined the TuneCore team in their office to review the codebase and develop recommendations for a Rails upgrade. thoughtbot sought to understand the main friction points, test coverage and gem versioning in TuneCore’s current application, as well as to get a sense of team culture and processes.

thoughtbot interviewed the TuneCore tech, product and marketing departments to gather their requirements for this project. As a result, the thoughtbot consultants provided alternative options and approaches to achieve the outlined objectives, and recommended improvements to various processes, ranging from deployment to retros.

Outcome

After the end of the code audit, thoughtbot presented their proposal for upgrading Rails to TuneCore’s leadership.

The implementation plan included recommendations for enhancing the application's test coverage, a gem and overall rails upgrade strategy, and estimates of time and labor requirements for performing the upgrade. thoughtbot identified specific risks in the codebase that may need to be refactored and bookmarked areas of the code that would require further investigation.

With this information, TuneCore had a greater understanding of the depth of the task at hand. The custom upgrade plan informed TuneCore's product roadmap and budget for the year. thoughtbot created their presentation in a format which could be easily shared with the team for transparency around their recommendations in order to help the leadership communicate the plan to the company.

As a result of the audit, TuneCore chose to continue working with thoughtbot to carry out the Rails upgrade. In addition, TuneCore embedded their own developers on the upgrade team in order to facilitate thoughtbot’s process recommendations.

“Their proactive, independent approach was the ideal solution for this project. The end result was well-organized and was more impressive than a competing proposal.”

Neil Bhay, VP of Technology, TuneCore

Title

Our best work gets done when we can work face-to-face with you. Chat with a designer or developer at one of our studios near you.

Let’s make something great together

Designing a thoroughly user-validated onboarding flow

Tile came to us to help with user onboarding and their iOS app design. Tile had developed hardware and an iPhone app to work seamlessly together to help folks easily locate their missing items.

See how we designed an amazing onboarding experience
This site uses cookies. Learn more by visiting our privacy policy.