Instacart builds Maple to enable large-scale LLM batch processing across engineering teams
Instacart's engineering teams needed to run millions of LLM calls for catalog enrichment, fulfillment routing, and search relevance workflows, but real-time LLM provider APIs were not designed for that scale, causing rate limiting, duplicated infrastructure code across teams, and growing cost pressure.
Before Maple, rate-limited real-time LLM calls introduced delays, each team independently wrote batch processing code from scratch, and pipelines lacked reusability requiring code modifications for every new use case.
Maple saves up to 50% on LLM costs compared to real-time calls, reduced many processes from hundreds of thousands of dollars per year to just thousands, and has become part of the backbone of Instacart's AI infrastructure supporting 10M+ prompt jobs.
Show all 6 reported metrics
Frequently asked questions
What did this team achieve with this AI workflow?
Maple saves up to 50% on LLM costs compared to real-time calls, reduced many processes from hundreds of thousands of dollars per year to just thousands, and has become part of the backbone of Instacart's AI infrastruc…
What tools did this team use?
Maple, Temporal, S3, Python, PyArrow, orjson, AI Gateway, Cost Tracker.
What results were reported?
LLM cost savings vs real-time calls: up to 50%; Annual process cost reduction: reduced from hundreds of thousands of dollars per year to just thousands of dollars per year; Maximum prompt job scale: 10M+; Average LLM batch processing speed: 2.6 tasks per second (source-reported, not independently verified).
What failed first in this deployment?
Before Maple, rate-limited real-time LLM calls introduced delays, each team independently wrote batch processing code from scratch, and pipelines lacked reusability requiring code modifications for every new use case.
How is this ecommerce ops AI workflow structured?
Team submits file and prompt → Maple batches and encodes input → Route through AI Gateway → LLM processes prompt batches → Retry failed tasks → Merge results into output file.