Ecommerce ops · Production

DoorDash 2025 Summer Intern Projects: GenAI Shopping Engine, Real-Time Slowdown Detection, and Ad Budget Signals

The problem

DoorDash faced multiple engineering gaps: the platform struggled to preserve specific user intent in shopping searches, lacked a scalable way to communicate with customers during delivery slowdowns short of full outages, and wasted compute by fetching out-of-budget ad candidates only to discard them at a later filtering stage.

First attempt

For the personalization engine, three single-method approaches were evaluated and found unsuitable: deep neural networks required prohibitive data and resource investment, an LLM-only pipeline had latency exceeding 20 seconds, and embedding-based retrieval alone returned duplicates and lacked nuanced personalization.

Workflow diagram · grounded in source
1
User shopping query input
trigger
“When you search for an item like "fresh vegetarian sushi" on DoorDash, you likely expect to see something that matches your craving”
2
Context and embedding fetching
ai_action
“real-time compression of user profiles, including dietary preferences, historical interactions, and contextual session data. Using these precomputed embeddings, the LLM model converted item descriptions into vector representations for ef…”
3
EBR candidate retrieval via FAISS
ai_action
“Combines rapid nearest-neighbor search using FAISS (Facebook AI Similarity Search) candidate retrieval with refined LLM-based reranking and filtering”
4
LLM reranking
ai_action
“We applied the LLM model for precise reranking, significantly improving recommendation accuracy by evaluating semantic relevance and contextual alignment”
5
Personalized carousel output
output
“We also leveraged the LLM model to dynamically generate compelling carousel titles and detailed item descriptions, enhancing user experience with contextual explanations”
6
Delivery event stream ingestion
trigger
“The pipeline consumes delivery event streams from Apache Kafka and processes them with Apache Spark Structured Streaming, persisting into layered Delta tables”
7
Slowdown anomaly detection
ai_action
“The system evaluates three signals: - % of 20-minute late orders > 15% flags when too many deliveries are significantly late, a clear sign customers will notice disruptions. - Week-over-week variance > 25% catches neighborhoods that sudd…”
8
In-app customer notification
output
“Flagged neighborhoods are pushed to an existing promotion service, which triggers in-app banners for customers in affected areas”
Reported outcome

The ad budget signal change produced a 43% drop in search processor latency and a 45% reduction in discarded candidates.
The GenAI hybrid shopping engine achieved end-to-end latency of approximately six seconds with store page loads consistently under two seconds. The slowdown detection system reduces customer support volume and improves transparency.

Reported metrics
SB search-processor latency reduction43%
Discarded ad candidates reduction45%
SB search-processor P99 latency afterapproximately 20 ms
Peak candidate drop rate after0%
Show all 10 reported metrics
SB search-processor latency reduction43%
discarded ad candidates reduction45%
SB search-processor P99 latency afterapproximately 20 ms
peak candidate drop rate after0%
GenAI shopping engine end-to-end latencyapproximately six seconds
GenAI store page load timeconsistently under two seconds
LLM-only baseline latency (rejected approach)more than 20 seconds
share of DashPass signups from order cart upsellroughly one-third of signups
customer support volumereduces customer support volume
user satisfaction improvement (GenAI shopping)notable improvements in user satisfaction
Reported stack
Apache KafkaApache Spark Structured StreamingDelta tablesFAISSLLMApache FlinkCockroachDBMaestro
Source
https://careersatdoordash.com/blog/part-3-doordash-2025-summer-intern-projects/
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

The ad budget signal change produced a 43% drop in search processor latency and a 45% reduction in discarded candidates.

What tools did this team use?

Apache Kafka, Apache Spark Structured Streaming, Delta tables, FAISS, LLM, Apache Flink, CockroachDB, Maestro.

What results were reported?

SB search-processor latency reduction: 43%; Discarded ad candidates reduction: 45%; SB search-processor P99 latency after: approximately 20 ms; Peak candidate drop rate after: 0% (source-reported, not independently verified).

What failed first in this deployment?

For the personalization engine, three single-method approaches were evaluated and found unsuitable: deep neural networks required prohibitive data and resource investment, an LLM-only pipeline had latency exceeding 20…

How is this ecommerce ops AI workflow structured?

User shopping query input → Context and embedding fetching → EBR candidate retrieval via FAISS → LLM reranking → Personalized carousel output → Delivery event stream ingestion → Slowdown anomaly detection → In-app customer notification.