Case study · Gojek · GoChat 2018–2021 · Communications platform 2021–2022

Building GoChat across five countries.

Bringing the chat platform in-house

Customers and drivers depended on chat to coordinate every pickup and delivery. As Gojek grew, that platform needed to become more reliable and cheaper to run across markets. I led the decision to bring it in-house and built the team that expanded it across five countries.

Build & scale

20M

messages a day at peak

At peak · One platform · Five countries

  • 75% adoption in month one
  • Zero-downtime migration
  • $4–5Mestimated annual savings versus the third-party vendor
  • Zerodowntime during the migration
  • 17%fewer cancellations on chat-enabled bookings

01 / The story

From a vendor tool to Gojek's own platform

Chapter 1 of 7

Making the investment case

Principal PM, Chat

The roadmap was full of feature requests, but the platform underneath them had a growing cost and reliability problem. The existing third-party provider was charging roughly $300–400K a month, with extra integration work and charges every time we added a capability. At Gojek's scale, those economics mattered to the viability of the roadmap.

Uptime sat around 97%, chat windows could take four to five seconds to open, and messages between customers and drivers sometimes failed to arrive outright.

Engineering saw the case for building in-house. Product and ops weren't initially convinced the migration justified the investment and disruption risk, so I needed to show why it should take priority alongside the features everyone wanted to ship. I made that case with cost and reliability data, including what the failures meant for customers. We migrated without downtime, cutting vendor costs by an estimated $4–5M a year and giving the team control over the product.

Before → after the move in-house

$300–400Ka month paid to the vendor
4–5sto open a chat window, at ~97% uptime
$4–5Mestimated annual savings after migrating

Chapter 2 of 7

The SIM-swapping problem behind OTP costs

There was a second cost hiding in how drivers and customers coordinated. In Indonesia, drivers regularly swapped SIM cards to chase free SMS and call credits, and each new number meant re-verifying by OTP, a per-login cost to Gojek at scale.

Moving everyday coordination into in-app chat reduced drivers' reliance on those SMS and call offers. With less reason to swap SIMs, roughly 80% of drivers no longer needed the repeated OTP re-logins. This was on top of the $4–5M vendor saving.

~80%of drivers no longer needed repeated OTP re-logins

Chapter 3 of 7

Organising the team around customer needs

I hired one PM to own the in-house platform and order-chat experience, including canned messages, translation, stickers and image sharing. A second PM focused on everything beyond a single order: customer support chat, marketing communications through chat (including Jeklin), and customer-to-customer chat for peer-to-peer payments, splitting orders, and sending and receiving parcels.

Two clear areas of ownership

PM 1Platform & order chat

Canned messages, translation, stickers and image sharing

PM 2Beyond the order

Support chat, marketing through chat and Jeklin, and customer-to-customer chat

Chapter 4 of 7

Making everyday exchanges easier

Most conversations were about confirming an order or letting someone know the driver had arrived. Canned messages cut the need to type those out every time: respectful greetings like "pak" and "mbak" in Indonesia, plus practical lines like "I'm at the pickup," "my order is confirmed" and "I'm at the door waiting." Later iterations layered in ML-personalised suggestions based on each customer's most-used messages, and adoption climbed with every iteration, reaching around 45%.

Around 17% of chat users were tourists, concentrated in Bali, so in-chat translation addressed a language barrier in those bookings. The longer-term aim was to push typing effort down toward zero.

Quick messages

“Pak” · “Mbak”I'm at the pickupMy order is confirmedI'm at the door waiting
~45%Quick Messages adoption
~17%of chat users were tourists, helped by in-chat translation

Chapter 5 of 7

Expanding the platform

We extended chat into group conversations and peer-to-peer payments, and into new markets: Vietnam, Thailand and Singapore. Each launch needed attention to local constraints. In Vietnam, that meant working directly with government officials, because rollout couldn't start without their approval.

What we added

  • Group chat
  • Peer-to-peer payments
  • 🇻🇳 Vietnam
  • 🇹🇭 Thailand
  • 🇸🇬 Singapore

Chapter 6 of 7

Developing the commercial opportunity

Head of Product, Communications Platform

We also explored how chat could support communication beyond a single order. Snippets used a Stories-style format; Shuffle Cards used a familiar swipe interaction that let customers signal which kinds of communication they wanted more or less of.

Chat adoption in Indonesia was around 90%, while roughly 56% of GoFood merchants had no ratings at all. Customers were already comfortable engaging through chat, and a lot of merchants needed a way to build visibility and engagement. I developed the commercial strategy across chat and the wider communications platform around that gap, then, as Head of Product, put it into practice by helping secure a highly contested central Home placement for chat, introducing internal notification billing and communications governance, and building out Jeklin for two-way engagement. These were the foundations for merchant advertising on the platform; the eventual third-party advertising business launched later.

The gap

~90%chat adoption in Indonesia
~56%of GoFood merchants had no ratings

Chapter 7 of 7

Jeklin and two-way engagement

Jeklin was a conversational assistant built for two-way engagement, letting customers signal their own communication preferences. I launched it alongside Snippets and Shuffle Cards as different ways for customers to engage with communications and tell us what they wanted more or less of.

Jeklin achieved roughly 2x the click-through rate and up to 5x the conversion of push and inbox messaging, where conversion meant a customer taking a real action, like making a booking on Gojek or setting up and topping up GoPay. Across the wider communications work, push CTR separately rose from about 1% to 2.5–4% within a quarter. Jeklin later became Gojek's named assistant in Indonesia. My part was the launch.

Jeklin vs push & inbox

Up to 5×conversion to customer actions
Push1×
Jeklin5×
~2×click-through rate
Push1×
Jeklin2×

2.5–4%push CTR within a quarter, up from ~1%
Before~1%
After2.5–4%

Drawn to scale from zero; the lighter segment is the 2.5–4% range.

The result.

02 / By the numbers
20M

messages a day at peak across Southeast Asia

Indonesia 16MOther 4M
75%

chat adoption within the first month

$4–5M

saved annually versus the third-party vendor

~80%

of drivers no longer needed OTP re-logins

17%

fewer cancellations on chat-enabled bookings

~45%

Quick Messages adoption

5×

Jeklin conversion to customer actions vs push and inbox

1×
5×
2.5–4%

push CTR, up from ~1%, within a quarter

~1%
2.5–4%

03 / What this work taught me

Bringing chat in-house cut costs and made it better for customers.

What are you building?

If you're building a platform like this, I'd be happy to talk it through.