Ecommerce ops · Production

DoorDash redesigns explore page Feed Service with a DAG-based pipeline pattern, achieving 35% latency reduction and 60% CPU reduction

The problem

DoorDash's explore page Feed Service made repeated, duplicative calls to downstream services for every carousel, could rank only within a single carousel rather than across the page, and lacked modularization — causing development overhead to grow proportionally with system complexity as the business scaled.

First attempt

The previous Feed Service architecture made duplicative downstream calls per carousel, constrained ranking to the Search Service where it could only operate within individual carousels, and required candidate generation logic to be duplicated across multiple applications with strongly overlapping functionality.

Workflow diagram · grounded in source
1
Candidate retrieval
integration
“Candidate Retrieval: Fetch data sources from external services that provide the content of the page, such as the Search Service for stores and the Promotion Service for carousels' metadata. In this case, we only fetch data sources once f…”
2
Content grouping
routing
“Content Grouping: Grouping content into a set of collections that can be later used for ranking and presentation, such as grouping stores based on association of carousels or store list on the explore page.”
3
ML ranking
ai_action
“Ranking: Rank the entities within each grouped collection. This step involves resolving the correct model ID, generating the feature values, and making a call to the machine learning prediction service to compute the scores for each rank…”
4
Experience decoration
integration
“Experience Decorator: For the unique set of stores across all collections, we need to hydrate them from external data sources for more user experience-related information, including fetch ETA, delivery fee, images URL, and ratings for st…”
5
Layout processing
output
“Layout Processor: This processor collects all the data being fetched and produces placeholders for different presentation styles, including the explore page, form data models for carousels, store lists, and banners.”
6
Post processing
output
“Post Processor: Rank and post-process all the elements, such as carousels and store lists, on the explore page that are being processed so far in a programmatic way to optimize the user experience.”
Reported outcome

The new pipeline achieved a 35% p95 latency reduction for the explore feed endpoint, a 60% CPU reduction from the Feed Service, an 80% QPS reduction and 50% CPU reduction from the Search Service, and an overall estimated reduction of 4,500 CPU cores, while enabling cross-carousel ranking and extending the pattern to new applications.

Reported metrics
P95 latency reduction (explore feed endpoint)35%
CPU reduction (Feed Service)60%
queries-per-second reduction (Search Service)80%
CPU reduction (Search Service)50%
Show all 5 reported metrics
p95 latency reduction (explore feed endpoint)35%
CPU reduction (Feed Service)60%
queries-per-second reduction (Search Service)80%
CPU reduction (Search Service)50%
CPU cores reduction (overall estimated)4,500 CPU cores
Reported stack
Feed ServiceSearch ServicePromotion ServiceWorkflowmachine learning prediction service
Source
https://careersatdoordash.com/blog/pipeline-design-pattern-recommendation/
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

The new pipeline achieved a 35% p95 latency reduction for the explore feed endpoint, a 60% CPU reduction from the Feed Service, an 80% QPS reduction and 50% CPU reduction from the Search Service, and an overall estima…

What tools did this team use?

Feed Service, Search Service, Promotion Service, Workflow, machine learning prediction service.

What results were reported?

P95 latency reduction (explore feed endpoint): 35%; CPU reduction (Feed Service): 60%; queries-per-second reduction (Search Service): 80%; CPU reduction (Search Service): 50% (source-reported, not independently verified).

What failed first in this deployment?

The previous Feed Service architecture made duplicative downstream calls per carousel, constrained ranking to the Search Service where it could only operate within individual carousels, and required candidate generati…

How is this ecommerce ops AI workflow structured?

Candidate retrieval → Content grouping → ML ranking → Experience decoration → Layout processing → Post processing.