Case Study

Rappi

Rappi has made LogRocket their single source of truth for identifying and resolving performance issues that affect the user experience.

Rappi
Rappi
Rappi
Enrique Ulloa
Engineering Manager
2X
Increase in Lighthouse score
80%
Reduction in Time to First Byte
8
Second reduction in LCP

Executive summary

Since its inception as an on-demand food delivery startup in 2015, Rappi has grown to support nearly any product or service in over 250 cities across nine countries, becoming one of the first Latin American unicorns in the process.

But growing pains are notorious for a reason. Expansion into different countries with different regulations, different levels of internet access, and different volumes of traffic introduced a number of new variables into Rappi’s business. When problems occurred — specifically performance-related issues that degraded the user experience — the Rappi team was left scrambling to run manual tests to understand what had gone wrong.

Performance is especially important because it affects both website conversion rate and site discoverability. Without a high-performing website, Rappi was shrinking the number of customers who would make it to their website, and many of those who did would fail to convert because of delays in page load times.

Rappi implemented LogRocket in the fall of 2021 to enable proactive performance monitoring. Dashboards, charts, and alerting allow the team to know instantly when performance levels drop in different geos or portions of the app, and session replay shows the direct impact of those performance changes on the user experience.

By using LogRocket to understand which improvements will yield the greatest performance gains, Rappi has more than doubled their Google Lighthouse performance score in less than six months. They have made LogRocket their single source of truth for all web performance data. It’s the first place they turn after a release, and their go-to tool for identifying further opportunities to maximize performance and deliver outstanding user experiences.

Delivering performance to all of Latin America

Engineering Manager Enrique Ulloa joined Rappi with a mandate to maximize the performance of Rappi’s websites across each of the nine countries the company operates in.

Although Rappi began as a mobile app, a significant portion of Latin American consumers are still new to mobile and have never ordered anything on a mobile device. By expanding Rappi to the web, the business could open itself up to a new segment of customers.

A key aspect to bringing on these new, web-first customers was offering a great first experience, meaning new users should achieve their goals quickly, efficiently, and without friction. While there are many features that can be added or tweaked to improve the user experience, there’s no escaping bad performance. Not only can bad performance affect conversion – as customers drop off after getting frustrated with page load times – it can also affect discoverability. Performance is one of the key factors that Google and other search engines consider in their rankings, and on-site conversion rate doesn’t matter at all if customers aren’t visiting your website to begin with.

“For me, it’s all about performance. How can I improve performance and make sure my application is working the way I’m expecting it to?”

For Rappi, the standard for measuring performance is Google Lighthouse scoring, a tool that combines a weighted average of Core Web Vitals — metrics such as Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS), and Time to First Byte — to provide an overall performance grade on a scale from 0–100.

Previously, Rappi had implemented a two-part performance monitoring solution. “The first part was an automated plugin for Lighthouse reports, which runs an audit on the application itself and tells you what the score is,” Enrique explains. “The second part was a manual, post-release report that needed to be run by QA.”

While this approach provided Rappi with some answers, both steps had issues that hurt efficiency and accuracy. Although the Lighthouse audit was automated and could be performed quickly, Enrique says, “it was not realistic because the reporting plugin was running on a local environment, the server environment.” This caused the reports to show results that were not indicative of real users’ experiences. Rappi’s engineers were aware of this flaw and, as a result, “the reports were there, but no one was looking at them.”

The QA report suffered from the same reliability issues as the Lighthouse audit. On top of that, it was a manual and time-consuming process. According to Enrique, “It was easily a half- to one-day task for each release. And the data we would obtain was lab data, not field data, which made it unreliable.” When something went wrong after a release, “we had to look at previous reports to check what had degraded performance.”

“Sometimes the report the QA engineer was running would say we had one score, and you run it on a more powerful machine and it’s a higher score. What’s the point of having a tool telling you the score of something if it’s not reliable?”

With Rappi’s releases getting more frequent and the company expanding into new markets and customer segments, they knew they needed to find a more efficient and proactive way to solve performance problems.

Shining a light on performance issues

Rappi implemented LogRocket on all their websites to enable a comprehensive, consistent, and easy-to-use view of performance across every country they operate in. For Enrique, the deciding factor was the data from the field that LogRocket provides. “It’s not data from one machine where the data depends on a lot of things,” Enrique says. “It’s real user data getting collected.”

“You can run a Lighthouse report three times and it’s going to give you three different scores, but LogRocket is consistent. I can say, ‘We have improved by this amount.’ ”

Enrique and his team were able to quickly set up dashboards that tracked overall performance, as well as ones that broke down performance by country and  page type. “One week after I started using LogRocket, I had my own dashboards set up with all the information I needed,” Enrique says. “I never had to ask anyone, ‘Hey, show me how to do this.’ ”

On top of this, the team set up alerting to automatically notify them as soon as performance dipped below acceptable levels, allowing them to begin the investigation process without any delays.

LogRocket tracks the same Core Web Vitals that are key to Lighthouse scores, telling Rappi not just that performance has slowed, but also providing the insight to determine exactly what’s causing the performance degradation.

“Thanks to the LogRocket process, we not only have the aggregated information that the performance is getting worse, but why it’s getting worse.”

When they see that performance has taken a hit, Enrique and his team then turn to LogRocket’s session replay to further unpack the issue. The sessions show them how the degraded performance has impacted the user experience as well as whether certain user behaviors led to the worsened performance.

“I can say, for these users where the performance is going up by one or two seconds — which is really bad — I need to watch what they have done,” Enrique explains. “What is the path that led them to this issue? We easily come to conclusions by watching sessions to see what the user is doing. It helps us narrow down and make stronger hypotheses of where the problem is rather than guessing.”

Keeping the Lighthouse lit

Lighthouse scores are a weighted average of Core Web Vitals, but the weighting is constantly changing based on what Google identifies as having the biggest impact on user-perceived performance. Because LogRocket provides historical, aggregate data of how these metrics have changed over time, Rappi can compare those numbers to changes in their Lighthouse score to understand where to focus their efforts to yield the greatest impact.

“We break down Lighthouse metrics into LogRocket metrics so we can track them side by side. Whenever we make an improvement, we know how much it’s going to change the score. I can say, ‘Next release, we should improve Lighthouse by so much because we have done this.’ ”

LogRocket lets Rappi see all the different levers they can pull to improve performance, then helps them understand which of those levers to pull so that they can maximize improvement with the least amount of engineering work. Through this approach, Rappi has been able to more than double their Lighthouse score since they started using LogRocket.

In one instance, “LogRocket was showing that LCP was really high, and Lighthouse was giving us a bad score,” says Enrique. By watching LogRocket sessions, the team discovered there was an interstitial being shown on certain pages that was driving up LCP time. Enrique’s team figured out a way to change how the interstitial was displayed to users, shaved 8 seconds off of LCP, and increased Rappi’s overall Lighthouse score by 5 points.

As they spent more time correlating LogRocket data to Lighthouse scores, Rappi recognized that a small improvement in Time to First Byte would have a bigger impact on their Lighthouse score than larger improvements to other metrics. By analyzing his LogRocket dashboards, Enrique noticed that one lightweight page had a very high Time to First Byte, especially in two high-traffic countries.

“We analyzed country by country and saw that LogRocket was showing the biggest impact in Time to First Byte, and it was directly related to the amount of redirects we have for each country,” says Enrique. “The two countries with the most impact have the most redirections.”

While some redirects were necessary and couldn’t be removed entirely, once Rappi understood that they were impacting Time to First Byte, the team was able to make optimizations that minimized their impact. In  doing so, they saw a significant reduction in Time to First Byte and added over 20 points to their Lighthouse score.

“Any time management asks me how web performance is, I go to LogRocket, take a screenshot of my dashboard, and that’s it.”

Since implementing LogRocket last year, it has become the single source of truth for all of Rappi’s web performance data. It’s the first place they turn after a release to see what impact the release had, and it’s where they go to identify further opportunities to maximize performance and deliver an outstanding user experience the first time and every time.

Want to see how LogRocket can help you optimize the performance of your web and mobile apps? Sign up for a free 14-day trial.