This story was contributed by Brett Allred, Chief Product Officer at MX, a financial technology company that helps banks and customers manage their finances.
When COVID-19 hammered the U.S. economy, our team saw an opportunity to help people get through this time of financial uncertainty. The Small Business Administration (SBA) had just launched a new loan program called the Paycheck Protection Program (PPP) that provided a safety net for small businesses. The PPP was designed to both help businesses retain employees, as well as keep people employed.
Due to the popularity of the program, financial institutions were inundated with tens of thousands of applications for PPP loans. Yet these institutions typically had only a few employees available to handle the workload. Loan processing was entirely manual, and the SBA frequently changed their form without updating their website. It would take at least 30 minutes for a loan officer to get each application from a piece of paper on their desk to an SBA approved loan. This was painfully slow, both for loan officers and the millions of Americans who needed immediate relief for their business. Adding to the urgency of the situation, PPP funds were limited and likely to run out quickly. We knew that technology and a data-driven solution could automate and speed up this process.
MX works with over 2,000 banks, credit unions, and fintech innovators to improve the money experience by building data-driven solutions that help people better understand and manage their finances. We wanted to find a way to help streamline the PPP loan process on behalf of our partners and their customers.
Here’s how we built a custom app in one weekend, partnered directly with the SBA, and have processed over $5 billion in small business loans, helping to save thousands of jobs.
We built an automated loan processing service in one weekend
On the Friday afternoon of the PPP’s first week, our team received a call from a financial institution struggling with a backlog of applications. Could we help them automate loan processing? And, could we do so by Monday morning? Our team accepted the challenge and got to work straight away on building out an automated loan processing service on Heroku. We could have rolled out our own app infrastructure, but we needed to get a solution up and running as quickly as possible. Heroku’s platform-as-a-service model gave us the speed and flexibility we needed to focus on building our service without being distracted by DevOps tasks.
Heroku’s scalable, secure platform enabled our team to test ideas, iterate quickly, and deliver an app to production — all over a single weekend. We used Ruby on Rails and a myriad of other open-source software libraries, building on top of the Chrome Web Driver, to enable banks to enter loan applications and funnel data to the SBA’s website in under 30 seconds per application.
When it came to data, security was a top concern for us. At MX, we don’t typically use a cloud solution because we have to handle PII data, which means that we have to essentially make our entire production environment a PCI zone. Our team did our due diligence with Heroku, and found that the platform’s compliance with industry standards satisfied government requirements around data security and auditing. In addition, we stored data in Heroku Postgres, which offers encryption at rest for greater security. We even had a third-party security auditor conduct a series of penetration tests against our instances to make sure everything was sound. We got the green light from the security and legal teams at our banking partners and started processing loan applications.
To further maintain privacy, each institution was kept isolated from each other with their own application servers and web servers, as well as database servers. We used Terraform to automate our Heroku deployments, allowing us to onboard new financial institutions in a matter of minutes. Whenever a new institution wanted to come on board, we just added a couple of configuration settings into Terraform, and they were spun up and running. I don’t think we could have built our solution as quickly as we did without using Heroku with Terraform and other amazing open-source technologies.
Partnering with the SBA directly to speed loan processing
As our new service, named the Easy SBA Portal, began operations, a new challenge arose. Other institutions had deployed similar WebDriver-based solutions, and the traffic surge was causing the SBA’s website to fail — just as the first wave of PPP funds was running out.
We took a different approach and called the SBA directly. It turned out the SBA was familiar with our service and had seen the volume of PPP applications coming through it. The SBA was in the process of building its own API and needed to work with a technology partner like MX that could innovate rapidly and help them get it up and running as quickly as possible. Congress had just approved the second tranche of PPP funds, so time was of the essence.
When our collaboration began, the SBA’s test site was down. Our team worked through the night, reverse engineering the test site in order to explore and integrate the SBA’s API. The next morning, the SBA approved our new API-driven service, while our two teams worked together to address load testing issues and bug fixes. Once the SBA environment had stabilized, the API and our second generation portal were open for business. That’s when we really started kicking into gear, and we were able to seamlessly process thousands and thousands of loans on behalf of small businesses across the country.
Over $5 billion in PPP funds are delivered to those who need it most
Since the Easy SBA Portal launched, over $5 billion in PPP funds have flowed through our system to small businesses across the U.S. This represents tens of thousands of jobs saved, and critical financial support for employees and their families. Our team has found it immensely satisfying to give back in this way, knowing that our efforts have helped people regain a little bit of normalcy in their lives.
At MX, we continue to give back by offering our code and engineering time to the open-source community. This enables more institutions to automate loan processing, so that more people may benefit from essential programs like the PPP.
Throughout the project, we asked ourselves, “Why are we doing this?” And the answer was that not only are we helping individuals withstand a crisis, but we are providing a skill set the nation needs right now for the benefit of society at large. That’s the essence of the open-source philosophy applied to this project.
Hear Brett Allred and Garrett Thornburg share their story on the Code[ish] podcast: Special Episode: When Giving Back Saves 1000s of Jobs.