The Challenge: Enhance the dining experience and increase engagement
Popmenu was growing fast, but their infrastructure wasn't keeping up. Having onboarded their first clients in 2017, by Q3 2019 they had onboarded and launched over 1,000 restaurants nationwide with most clients asking Popmenu to host their website. The result was a severe degradation in infrastructure performance.
At the same time, their Heroku - a fully-managed, container-based cloud Platform as a Service - expenses were increasing as they cloned their apps to meet demand.
“We needed to address the problem before it began to impact our existing clients,” states Justis Blasco, Co-Founder and VP of Technology at Popmenu. “We had some ideas on how we could improve performance and cut costs. However, as an extremely lean team, we simply didn't have enough manpower in-house to research and implement them. We needed to find a partner who could help us.”
The Solution: Find a long term, value-add partner and enabling technology
“I didn't just want someone who would get the job done and walk away,” says Justis. “Since we're expanding so fast, I wanted a partner who could help me make technical decisions, suggest best practices, and be available to assist over the long-term as we faced new challenges.”
During his search, Justis found React on Rails PRO and the creator of react_on_rails, Justin Gordon, the CEO and Founder of ShakaCode. A proprietary extension of react_on_rails, React on Rails PRO reduces server response times by up to 90%. Incorporating code-splitting, cached server rendering, fragment caching, standalone Node JS server rendering, rolling restart of Node workers, improved Node tooling, and a host of other features, React on Rails PRO optimizes performance and saves on infrastructure costs.
What makes it all the more impressive is that during the period where we've reduced response times by almost 75%, we’ve also increased throughput by 124%. So we’re handling 2.24x the number of requests while maintaining much faster response times than previously. That’s amazing!
The Project: Realize everything promised
ShakaCode's React on Rails PRO technology, agile project approach, and competitive pricing with transparent billing gave Justis confidence he'd made the right choice. ShakaCode provided a lead developer for the entire project, streamlining communication and making it easy for Justis to manage the project.
“Partnering with ShakaCode was definitely the right decision,” states Justis. “I wanted someone who would quickly become part of the in-house team, share their knowledge, and help us improve our capabilities. That’s exactly how it worked out.”
The Results: A scalable, high-performance platform built for growth
“The initial performance improvements far exceeded our expectations,” says Justis. “The average page response time for Popmenu users has been reduced by over 73%. Initially, our Lighthouse performance scores were hovering at 60 to 70. [They're] now well over 90. We've been able to sustain that performance despite continuously adding new features and improving the look and feel of all of our client sites at the same time. ”
ShakaCode implemented React on Rails PRO, enabling Popmenu to separate the Rails servers from the Node rendering servers, reducing the amount of memory and CPU needed to meet client demands and saving 20-25% in Heroku hosting costs. Migrating from Heroku CI to CircleCI reduced the average build time by 62%, and implementing CypressOnRails for end-to-end testing increased confidence in Popmenu’s deployments.
“When I first reached out to [ShakaCode], I already had high expectations.” states Justis, “Now that the performance phase of the project is complete, I have to say that ShakaCode far exceeded those expectations.”
ShakaCode makes it happen!
Schedule a free, 30-minute call to discuss what ShakaCode can do for your project. Or email us at [email protected] with your ideas, challenges, or questions. We'll get back to you within two business days.