Finder’s performance boost with an improved release process
Finder helps millions of people worldwide make better decisions by allowing them to compare a wide range of products and services. Finding the right credit card, buying a home, or getting health insurance can be a daunting task. Finder.com makes the research more straightforward, and consequently, can save users time and money.
Since a major part of Finder’s business is to compare numerous products, Finder.com needs to provide users with tools that are quick and easy to use, while still displaying a wealth of dynamic information. In order to accomplish this goal and give users a great experience, Finder’s team of developers needs to be able to continuously improve the platform, iterate quickly to regularly evaluate what it is that delights users, and drives engagement for the platform.
Last Call Media supports Finder’s efforts to build an exceptional digital experience for its users within the WordPress platform. We also helped their software development team rethink the way they deploy to production.
How we did it
On a daily basis, dozens of developers work simultaneously on Finder.com, adding new functionality, fixing bugs, and creating new ways to provide value to users. As the team scales, it is faced with several challenges around managing the deployment pipeline.
Until recently, developers were often limited and blocked by a complicated build process, where any code change would take about 12-16min to go live. Making that change often required modifying multiple repositories since all the themes and plugins were split and could not be fully decoupled. Deploying to staging environments was a manual process, and code reviews required lengthy instructions and thus were error-prone. The developer that authored a change, needed to remember to merge all repositories for a successful deployment or risk bringing down the site.
Speeding up the deployment process
An ineffective deployment pipeline can easily add up to hundreds of hours of time a month waiting for a build to complete that could have been spent on delivering other functionality instead. The development workflow should be smooth with stumbling blocks removed. Since Finder’s engineering team is growing rapidly, this problem needed to be addressed first.
To speed up time to market, we overhauled the build process at Finder. We implemented Buildkite to enable continuous integration in a more efficient way. As a result, build time decreased by more than 50%, to only 8min.
This increased efficiency sped up the process for Finder’s developers to get their work onto staging environments and out to production, and in the hands of customers.
Offering stability to the development team
Another challenge for Finder was the stability and time it took to deploy a hotfix to production. If multiple developers were trying to deploy to the product at the same time, they would often frustratingly block each other, further increasing everyone’s time to production.
To release this functionality, we identified and rearranged certain key jobs so they could be run in parallel. We also identified build steps that could be made more efficient. For example, there were many jobs downloading the same libraries, and when the Docker image was built in the end, these libraries were again downloaded, synchronously. By limiting this, speed was improved significantly.
In the end, speeding up the build process, meant increased stability, and a decreased time to deploy a hotfix.
Building comparison tables
In addition to platform work, Finder brought Last Call Media on board to help improve their comparison tables. Finder’s business model requires them to accurately connect users with relevant products. If a user with a “poor” credit score tries to apply to a credit card that only accepts “very good” scores, they’ll waste their time, and Finder will not be succeeding in its mission to connect users to relevant products. The tables were written in legacy JavaScript, HTML, and CSS and we worked to rebuild the tables in modern React, adding modals on top of the tables to surface the most important data filters to the user first.
Now, after users make an initial selection, they can see the most relevant results for their case. We added advanced interactive features such as calculators to the top of tables so users can input data relevant to their personal circumstances and see automatically calculated savings for each product.
Taking advantage of the WordPress platform and Buildkite, Last Call Media empowered Finder’s development team to deploy to production efficiently. The improved build process enabled developers to get their work to production and in the hands of customers much quicker. Additionally, Finder’s comparison tables now present results to users that are personalized making their experience so much more satisfactory.
Now, Finder has a path forward to build stable, interactive comparison tools for users in a highly iterative way.