# Grab
> Southeast Asia's leading everyday "super-app" that provides ride-hailing, food delivery, grocery shopping, and digital financial services.

## Articles

### [Building Jarvis Pro: Route first, answer later](https://yomu.fyi/post/building-jarvis-pro-route-first-answer-later.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Christian Coffrant
- Published: Aug 21, 2026

Grab designed Jarvis Pro as an AI assistant for account managers turning complex account data into actionable merchant conversations. Early prototypes generated polished but operationally unsound advice, such as pushing promotions when order drops were caused by outlet pauses and fulfillment issues. To address this, the team implemented a "route first, answer later" design that uses a prompted LLM classification step constrained by a routing guide to dictate context, tool paths, answer structure, and guardrails before generation. The pipeline also isolates narrow memory decisions, reconciles metric freshness across data sources, and caps tool calls to maintain usability. In offline evaluations across 351 realistic prompts, routing matched safe routes 99.4% of the time while answer quality scores in a portfolio subset improved from 78.5 to 91.0.


### [Grab Bench: Evaluating AI on Grab-shaped production work](https://yomu.fyi/post/grab-bench-evaluating-ai-on-grab-shaped-production-work.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Christian Coffrant
- Published: Aug 12, 2026

AI models evaluated on internal tasks often produce subtly plausible errors, such as altering metric definitions in SQL queries or missing hidden stateful invariants in code patches. To address this, Grab built Grab Bench, a configurable evaluation harness that executes model providers through specialized task plugins. The platform evaluates synthetic or redacted datasets that preserve production constraints across domains like query generation, tool use, passenger-profile reasoning, and agentic coding. By recording granular row-level outputs with deterministic scorers and LLM judges, the harness exposes failure modes rather than relying solely on aggregate leaderboards.


### [How AI is transforming analytics at Grab](https://yomu.fyi/post/how-ai-is-transforming-analytics-at-grab.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Maanas Prabhakar
- Published: Aug 1, 2026

Grab is restructuring its analytics operations using a five-level AI autonomy ladder, transitioning analysts from manual artifact creation to problem framing and decision governance. The architecture leverages domain-specific systems like Spartan to process natural language queries through certified metric indexes and Scarlet to triage and repair failing data pipelines. To prevent agent hallucinations, ContextIQ manages context lifecycles by automatically updating metric definitions, SQL references, and golden-dataset test cases when instrumentation changes or failures occur. Furthermore, data teams use an internal portal called BriX to configure custom analytics surfaces and automated root-cause analysis commentaries using reusable Model Context Protocol connections. Autonomy scales mechanical query and validation tasks while keeping human oversight focused on canonical metric definitions and strategic sign-offs.


### [Crowdsourced taxonomy verification: A feedback-driven framework for refining knowledge graph relationships via online search interactions](https://yomu.fyi/post/crowdsourced-taxonomy-verification-a-feedback-driven-framework-for-ref.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Junpeng Niu
- Published: Jul 30, 2026

Maintaining accurate Knowledge Graphs in dynamic domains like e-commerce and food delivery is challenging because automated language models frequently hallucinate relationships while manual curation cannot scale. To validate structural taxonomy links continuously, a closed-loop verification framework operationalizes search interfaces by injecting unverified candidate edges as hypotheses into live user traffic. The system uses an exploration-exploitation strategy to place candidate relationships in lower-risk interface slots, tracking contextually anchored micro-interactions such as clicks, dwell times, and purchases. An offline verification engine aggregates these weighted interactions into normalized confidence scores, automatically promoting verified links to permanent graph edges and pruning refuted relationships.


### [Agent platform (Part 1): How we help Grab build and run AI agents at scale](https://yomu.fyi/post/agent-platform-part-1-how-we-help-grab-build-and-run-ai-agents-at-scal.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Kendrick Tan
- Published: Jul 24, 2026

Grab scaled its internal AI tooling by transforming the infrastructure behind a single technical support bot into a standardized agent framework named LLM-Kit. The original Go-based bot revealed critical bottlenecks, including the lack of automated evaluation, painful provider migrations, fragmented observability, and excessive production scaffolding overhead. To address these frictions, engineers developed a FastAPI template pre-wired with LangGraph ReAct agents, remote Model Context Protocol servers, and built-in ROUGE, BLEU, and LLM-as-judge evaluation suites. The framework centralizes model access through an OpenAI-compatible GrabGPT Gateway and unifies observability across services, outbound calls, and agent steps using OpenTelemetry. This extracted scaffolding reduced day-one production setup time from two weeks to roughly an hour while supporting hundreds of production agents.


### [Scaling Grab's Data Lake: Our journey to Apache Iceberg adoption](https://yomu.fyi/post/scaling-grab-s-data-lake-our-journey-to-apache-iceberg-adoption.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Rahul Penti
- Published: Jul 10, 2026

Grab transitioned its petabyte-scale data lake from Hive Parquet to Apache Iceberg to resolve metadata bottlenecks, small file fragmentation, and lack of native ACID support. Implementing Iceberg with Z-ordering reduced navigation query runtimes from 70 seconds to 6 seconds and cut daily S3 API costs by up to 95% on key operational datasets. To seamlessly manage concurrent table formats without forcing engineers to specify format prefixes, Grab developed and open-sourced UnifiedSparkCatalog. This custom catalog transparently detects table types via the Hive Metastore, routes queries to format-specific handlers, and retains backwards compatibility for legacy Hive operations.


### [Migrating Counter Service storage: Design choices and learnings](https://yomu.fyi/post/migrating-counter-service-storage-design-choices-and-learnings.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Jia Long Loh
- Published: Jul 3, 2026

Grab migrated its Counter Service storage backend from a legacy wide-column database to Aerospike to support real-time anti-fraud windowed aggregations across tens of thousands of queries per second. To decouple storage from the Rust reader service, engineers introduced a storage facade using enum dispatch, avoiding the per-query heap allocations of boxed trait objects. The reader used configuration-driven operating modes to support shadow reads and deterministic traffic splitting without requiring code updates. On the write path, the schema was redesigned to collapse multiple bucket records into a single sorted map per counter, using atomic server-side operations to increment counters and prune expired entries. This data model redesign reduced total record counts and in-memory primary index usage by over an order of magnitude while enabling a zero-downtime transition.


### [Scaling out Distroless adoption With AI](https://yomu.fyi/post/scaling-out-distroless-adoption-with-ai.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Jia Yee Chong
- Published: Jun 22, 2026

Grab is transitioning its microservices to Distroless base images to eliminate unnecessary binaries and reduce vulnerability risks, but the migration risks runtime failures from missing shared objects and system utilities. To safely validate container execution in continuous integration without staging dependencies, the team relied on medium tests that run containerized services alongside internal dependencies managed by Testcontainers. Because hundreds of services lacked this test harness, Grab implemented an agentic workflow using Claude Code and Model Context Protocol integrations to inspect repositories, generate test boilerplate, and resolve configuration errors. Once test baselines are established, an automated patch-test-compare pipeline updates Dockerfiles, constructs multi-stage builds for necessary dynamic libraries, and creates draft merge requests for human approval.


### [Palana (Part 2): Architecting isolation, identity, and auditability for AI agents](https://yomu.fyi/post/palana-part-2-architecting-isolation-identity-and-auditability-for-ai.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Kevin Littlejohn
- Published: Jun 21, 2026

Grab's Palana platform provisions isolated, Kubernetes-native runtime environments for autonomous AI agents using dedicated per-agent namespaces and role-based access controls. The architecture separates network enforcement across layers, applying Layer 3 and Layer 4 containment with Cilium and NetworkPolicy alongside Layer 7 application filtering evaluated by Open Policy Agent. Agent interactions with large language models route through a LiteLLM proxy wrapper that retrieves credentials from HashiCorp Vault based on Kubernetes pod context rather than client headers. Secrets management is divided between directly readable agent paths and proxy-only placeholder paths that prevent raw tokens from residing in runtime filesystems. An automated reaper monitors multi-source activity signals to shut down idle compute resources while preserving persistent storage and configuration state.


### [Palana (Part 1): Why Grab built a secure platform for autonomous AI Agents](https://yomu.fyi/post/palana-part-1-why-grab-built-a-secure-platform-for-autonomous-ai-agent.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Kevin Littlejohn
- Published: Jun 19, 2026

Autonomous AI agents introduce significant operational and security risks when granted network access, persistent state, and credentials. To address these concerns without impeding developer productivity, Grab created Palana, an in-house Kubernetes-native execution substrate. The platform isolates each agent workload within its own namespace, pairing it with dedicated storage, network policies, and role-based access control. Network egress is funneled through an Envoy and Open Policy Agent proxy layer that audits requests and injects credentials from HashiCorp Vault using placeholder tokens, keeping raw secrets outside the agent runtime. This design allows Grab to securely host hundreds of long-running workflows, remote coding environments, and automation bots.


### [From decentralized Docs-as-Code to a centralized repository: Evolving Grab's documentation strategy](https://yomu.fyi/post/from-decentralized-docs-as-code-to-a-centralized-repository-evolving-g.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Karen Kue
- Published: May 29, 2026

Grab originally adopted a decentralized Docs-as-Code workflow to manage Markdown documentation alongside service code, but the model strained as engineering scaled. Dispersed repositories led to fragmented terminology, uncoordinated repository moves, uneven linting standards, and noisy search results. To resolve these issues, the organization transitioned to a centralized documentation repository with standardized templates, automated CI quality gates, and a unified search overlay combining fuzzy title search with Glean. Consolidating Markdown into a single repository also established a clean, structured knowledge base tailored for internal AI agents. The centralized setup fostered continuous maintenance, averaging 27 daily commits and an update merged roughly every 50 minutes.


### [The Hugo evolution: Engineering Grab's unified, one-click data ingestion platform with Apache Flink](https://yomu.fyi/post/the-hugo-evolution-engineering-grab-s-unified-one-click-data-ingestion.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Shuguang Xiang
- Published: May 22, 2026

Grab's self-service data platform, Hugo, faced significant onboarding friction as streaming pipelines expanded across fragmented systems like Kafka Connect, custom Go applications, and Spark. Engineering teams struggled with cross-platform configuration translations and brittle, manual schema mappings that stretched onboarding over several days. To resolve these bottlenecks, Grab modernized the ingestion architecture by introducing a centralized automation layer powered by Apache Flink and Flink CDC. The updated platform dynamically retrieves Protobuf schemas from Confluent Schema Registry and ingests MySQL binlogs directly into queryable Hive tables without intermediate Kafka hops. This shift dropped pipeline onboarding times to roughly six minutes for Kafka and three minutes for MySQL CDC, driving more pipeline adoptions in one year than in the previous five.


### [Scaling developer experience: How we improved Android Studio in a large monorepo](https://yomu.fyi/post/scaling-developer-experience-how-we-improved-android-studio-in-a-large.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Rifqi Fahmi
- Published: May 15, 2026

Grab's passenger Android monorepo contains roughly 2,000 modules and 11 million lines of code, leading to IDE sync times exceeding 35 minutes on cold starts. While Bazel handles application builds, Android Studio relies on Gradle sync to construct its project model, requiring Gradle to evaluate every module during configuration. To solve this bottleneck, the team built a custom Focus plugin that restricts IDE syncing to target modules and their direct dependencies. The architecture reuses a static dependency graph generated during existing Gradle-to-Bazel migration tasks to eliminate the Gradle configuration phase during module selection. An IntelliJ extension and a Groovy method-shadowing technique in settings.gradle allow developers to configure focused modules directly through a graphical user interface.


### [Enhancing Flink deployment with shadow testing](https://yomu.fyi/post/enhancing-flink-deployment-with-shadow-testing.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Tee Long Lang
- Published: May 7, 2026

Production deployments of Apache Flink applications at Grab previously risked up to ten minutes of downtime when new versions failed under live traffic or could not resume from existing checkpoints. To eliminate these deployment failures, Grab's Coban data streaming team introduced an optional shadow testing stage directly into their production Kubernetes deployment pipeline. The shadow pipeline runs new application releases in parallel with the active application for a default observation period of one hour before prompting promotion to main. Dynamic runtime configuration based on an injected environment variable redirects source consumer groups and isolates output to dedicated shadow sinks, metrics, and logs.


### [Data Mesh at Grab (Part II): The foundational tools behind certification](https://yomu.fyi/post/data-mesh-at-grab-part-ii-the-foundational-tools-behind-certification.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Aezo Teo
- Published: Apr 30, 2026

Grab operationalizes its Signals Marketplace data mesh through integrated platforms designed for continuous data certification and observability. The central metadata management platform, Hubble, extends open-source DataHub to model metadata as an event-driven graph and expose search, lineage, ownership, and data contracts. An automated certification engine built on the DataHub Actions framework continuously evaluates metadata changes, classifying assets into Uncertified, Certified, CertifiedPlus, or Revoked states. Genchi serves as the data quality observability layer, using Temporal and Kafka to run checks for freshness, volume completeness, schema stability, and semantic rules. To eliminate false-positive alerts caused by decoupled cron schedules, Genchi integrates with the Lighthouse monitoring service to trigger quality tests immediately upon pipeline completion.


### [From firefighting to building: How AI agents restored our team’s core productivity](https://yomu.fyi/post/from-firefighting-to-building-how-ai-agents-restored-our-team-s-core-p.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Sneh Agrawal
- Published: Mar 19, 2026

Grab's Analytics Data Warehouse team spent roughly 40% of their engineering bandwidth answering repetitive questions, tracing data lineage, and handling basic pipeline enhancement requests across more than 15,000 tables. To eliminate these manual investigative bottlenecks, the team implemented a multi-agent AI architecture using FastAPI, LangGraph, Redis, and PostgreSQL. Incoming requests route through two dedicated pathways: an enhancement pipeline for generating code changes and an investigation pipeline for diagnosing data anomalies. Specialized agents interact with underlying engines like Trino, GitLab, and observability platforms to query data, trace transformations, and check ongoing incidents before synthesizing findings. This system automates the context-gathering process within minutes while maintaining human-in-the-loop review for merge requests and production changes.


### [Enabling R8 optimization at scale with AI-assisted debugging](https://yomu.fyi/post/enabling-r8-optimization-at-scale-with-ai-assisted-debugging.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Nguyen Van Minh
- Published: Mar 12, 2026

Grab experienced widespread Application Not Responding spikes across its Android superapp, driven by memory pressure and complex Jetpack Compose layouts embedded in legacy code. While switching to advanced R8 optimization promised significant performance gains, obfuscated stack traces and two-hour remote compilation cycles stalled investigation across nine million lines of code. To resolve this, engineers built Model Context Protocol tools to automate APK decompilation, deobfuscation, and code context extraction. The team paired these tools with an AI workflow that used the GitLab CLI to generate multiple solution branches and run verification builds in parallel. This strategy replaced hours of manual reverse engineering with minutes of automated analysis, allowing the team to debug and validate aggressive optimizations at scale.


### [Reclaiming Terabytes: Optimizing Android image caching with TLRU](https://yomu.fyi/post/reclaiming-terabytes-optimizing-android-image-caching-with-tlru.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Nguyen Van Minh
- Published: Mar 6, 2026

The Grab Android application relies heavily on dynamically downloaded images managed through Glide's disk cache, which originally enforced a 100 MB limit without evaluating content age. While the 90th percentile of users consistently hit this maximum capacity, users below the threshold retained stale promotional and feature assets indefinitely. To reclaim storage while protecting user experience, engineers extended Glide's existing DiskLruCache implementation into a Time-Aware Least Recently Used (TLRU) cache. The TLRU design pairs standard maximum size limits with Time-To-Live eviction based on last-accessed timestamps, alongside a minimum size safety threshold that preserves essential files for returning users. This hybrid approach enables proactive eviction of outdated content without causing empty-cache performance penalties or increasing backend requests.


### [Cursor at Grab: Adoption and impact](https://yomu.fyi/post/cursor-at-grab-adoption-and-impact.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Akshay Misra
- Published: Jan 29, 2026

Following a multi-tool AI strategy, Grab integrated the AI coding assistant Cursor into its engineering toolkit in late 2024 to accelerate software development. Technical staff adoption reached 98% monthly active usage with a 50% suggestion acceptance rate, supported by custom monorepo indexing and preconfigured rules aligned with internal coding conventions. Engineers frequently apply the tool to unit test generation, code refactoring, cross-repository navigation, and routine API scaffolding, with over a third of merge requests incorporating Cursor. The rollout also encompasses non-technical personnel and product designers who, after receiving Git training, submit direct production UI fixes. Statistical evaluations using fixed-effects regression indicate a dose-response relationship between Cursor usage intensity and measurable productivity gains.


### [Docker lazy loading at Grab: Accelerating container startup times](https://yomu.fyi/post/docker-lazy-loading-at-grab-accelerating-container-startup-times.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Huong Vuong
- Published: Jan 21, 2026

Grab addressed slow cold starts and auto-scaling bottlenecks caused by large container images across data platforms like Airflow and Spark Connect. To eliminate the requirement of downloading complete images before launching, the team evaluated Docker lazy loading via remote snapshotters using eStargz and Seekable OCI (SOCI). Unlike eStargz, which modifies image layers and increased application startup delays during benchmarks, SOCI stores index metadata separately as OCI Artifacts without altering image digests. In production on Amazon EKS, tuning SOCI concurrency and chunk parameters reduced fresh-node image download times by 60%, ultimately delivering a 30% to 40% reduction in P95 startup times.


[Older posts](https://yomu.fyi/company/grab/page/2.md)
