Planting Trees, One Ride At A Time

How we built GoGreener Tree Collective - a feature that allows customers to plant trees to absorb carbon footprint.

Planting Trees, One Ride At A Time

By Andrew Daniel & Aakanksha Vijayvargiya


“For the first time in my life, writing a piece of code generated physical outputs”.

This is what one of our developers said when we launched the GoGreener Tree Collective — a feature that allows customers to switch on a toggle and seamlessly add a small fee which will be used to plant trees. Code, as intangible as it may sometimes feel, can absolutely make real-world physical impact. And sometimes, that impact can help make the world a little bit greener.

GoGreener Tree Collective campaign banner.

The GoGreener Tree Collective was launched in GoCar and GoRide, and was then extended to GoFood. Here’s the story of how we built it.

Our Sustainability Commitments

In April 2021, Gojek launched its 2030 Three Zeroes commitments: Zero Emissions, Zero Waste, and Zero Barriers. Since the formation of GoTo, these commitments have also extended across the group.

The Zero Emissions commitment, in particular, establishes the company’s goals to reach net-zero by 2030. This primarily involves our commitment to transition our entire driver-partner fleet to electric vehicles by 2030, looking at renewable energy sources for the charging of those electric vehicles as well as to power our offices and warehouses, and developing efficient alternative products and services that can reduce emissions compared to current availabilities.

On top of these emissions reduction strategies, we knew that more could be done. We knew that we had customers who cared about the environment, and that working together as a collective, we could make a recognizable impact. Thus, the GoGreener Tree Collective was born from this — giving our customers the option to participate in reducing emissions by helping reduce their carbon footprint by making a contribution which is utilized to plant trees on their behalf. Industry-wide and regionally we were one of the first to do this meaningfully, and in line with global standards which is incredibly complex!

Making it as intuitive and easy as possible

Technology should simplify our lives, and so we thought about how we can make the experience for GoGreener Tree Collective be as seamless as possible. This was a feature we wanted customers to “opt-in” for as many orders as they wanted without them having to think about it. We arrived at the usage of a toggle switch that could be activated once, and the GoGreener Tree Collective would be active for all subsequent bookings until a user decided to deactivate it.

We came up with a few ideas, and fundamentally knew the feature would be a sort of “add-on” for any GoRide/GoCar booking in the Gojek app. This produced a new challenge, which was how we would present the feature.

Luckily, another product with similar “add-on” behavior allowed us to logically group the two products together and introduce an “add-ons” tray with a single point of entry within Transport. This helped organize and also provide the ability to reuse the same tray for any future add-ons.

Screenshots that show how to activate GoGreener Tree Collective in GoRide and GoCar.
Activating the GoGreener Tree Collective in GoRide and GoCar

Believing in a collective community

“We’re all in on this planet together.”

We believe in people here at Gojek, and we believe at the immense good that we can accomplish when working together. This value drove our product team to design a collaborative social feature where anyone can see how many people have opted in to the GoGreener Tree Collective at any given moment. This is the essence of the collective. There was no better feeling than seeing the community grow from those first few customers to where we are now.

Widget showing number of customers that have opted-in for GoGreener Tree Collective.

Building for Scalability

From the start, we knew that wherever mobility exists, there is an opportunity to decarbonize. This meant extending the feature to our other mobility products. We began platformization early, with the reusable widget page being a common entry point for customers to view details about the GoGreener Tree Collective agnostic of the product it was being applied to.

This also meant packaging our the widget into its own reusable modules in iOS and Android, and ensuring instant extensibility in the backend where completed transactions with GoGreener Tree Collective activated are stored.

The backend is not only utilized for reconciliation with third parties or helping draw insights on the product, but also built to scale to any other country where Gojek operates. We created a dedicated new service for the GoGreener Tree Collective. The service facilitates sending the appropriate headers for the different products that are calling the service to return the correct information. This allowed for easy development into the GoFood product, while still providing the flexibility on how customer can access the widget given the differences in each product’s booking flow.

GoGreener Tree Collective opt-in flow for GoFood.

Bonus point: We have intentionally built the opt-in logic at a product level (i.e. transport, food) to allow flexibility of choice for opt-in to the customer based on their preferences and use cases.

Find more stories from our vault, here.
Check out open job positions by clicking below: