GrabDa HuangProblem & solution
How to Go from a Quick Idea to an Essential Feature in Four Steps
Summary
Grab engineered an in-app messaging platform, GrabChat, to help drivers and passengers coordinate pickups across Southeast Asian markets characterized by weak 2G connectivity and high packet loss. The team developed an in-house TCP messaging architecture consisting of a TCP gateway named Gundam and a message dispatcher named Hermes connected to internal backend services over HTTPS. To protect backend server resources from resend loops during poor connection states, the communication protocol adopts a "server only push once" model that delegates retry handling to the client. Data science evaluations using a pre-trained cancellation prediction model confirmed that GrabChat adoption correlated with reduced booking cancellations. Following early usage feedback, the team further iterated on the feature by introducing pre-written message templates to reduce driver distraction on the road.
Context
Drivers and passengers across Southeast Asia faced communication challenges due to rapidly changing cities and unstable internet infrastructure, including congested 2G networks with high packet loss.
Approach / What changed
Grab built a dedicated in-app messaging service using a stand-alone TCP layer, a custom TCP gateway and dispatcher, a client-driven retry protocol, and template messaging to minimize driver distraction.
Takeaways
Implementing a "server only push once" protocol delegates message-loss retries and heartbeat monitoring to clients, preventing server exhaustion caused by endless resend loops on poor networks.
GrabChat separates concerns by handling client connections through dedicated TCP gateways and dispatchers while exposing HTTPS interfaces for internal service integration.
Data scientists evaluated the feature's business impact by using a baseline machine learning cancellation prediction model trained on pre-launch data to compare predicted against actual post-launch cancellations.
Source and freshness
- Source
- engineering.grab.com
- Published
- Added to Yomu
- Last updated
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.