Ecommerce ops · Production

How Cherrypick built a robust LLM-powered meal generator: lessons from production

The problem

Cherrypick's existing meal generator offered no way for customers to specify meal preferences, and the team wanted to add personalization and explain recipe-selection decisions — something difficult to achieve without LLMs.

First attempt

A 2023 WhatsApp-based proof of concept for chat-driven grocery shopping was abandoned because the cost per shopping session would have entirely eroded the profit margin.

Workflow diagram · grounded in source
1
Customer requests meal plan
trigger
“allowed customers to pick a number of meals they wanted for the week, and we would generate a plan for them”
2
Filter eligible recipes for prompt
ai_action
“with each prompt we send the customer the details of only the recipes the customer can actually eat. This avoiding wasting tokens on recipes that should never be selected.”
3
LLM generates plan and rejection options
ai_action
“Customers can reject a meal with a pre-defined set of options, that are generated by the LLM along with the plan. That way these options feel customised and natural.”
4
Automated JSON and ID validation
validation
“We verified perfect JSON structure in all responses and checked recipe IDs against our provided context to ensure they were not hallucinated by the LLM. When generations failed, our system automatically retried the plan. At the moment we…”
5
Expert human review of sample plans
human_review
“Our Head of Food Sophie assesses a sample of generated plans for quality and nutritional balance. She looked at flavor combinations and ensured the meals would work well together over the week.”
6
Evaluation storage and prompt refinement
feedback_loop
“All evaluations were stored to build training data for future improvements. We kept version of our templates for A/B testing and tracked success metrics for each variation. Regular prompt refinement, based on this accumulated feedback, h…”
Reported outcome

The LLM meal generator launched and customers changed their plans 30% less and used their plans in baskets 14% more.

Reported metrics
Plan change rate30% less
Plan usage in baskets14% more
LLM generation failure rate25%
Reported stack
Liquid templates
Source
https://www.chrismdp.com/how-to-build-a-robust-llm-application/
Read source ↗

Frequently asked questions

What did this team achieve with this AI workflow?

The LLM meal generator launched and customers changed their plans 30% less and used their plans in baskets 14% more.

What tools did this team use?

Liquid templates.

What results were reported?

Plan change rate: 30% less; Plan usage in baskets: 14% more; LLM generation failure rate: 25% (source-reported, not independently verified).

What failed first in this deployment?

A 2023 WhatsApp-based proof of concept for chat-driven grocery shopping was abandoned because the cost per shopping session would have entirely eroded the profit margin.

How is this ecommerce ops AI workflow structured?

Customer requests meal plan → Filter eligible recipes for prompt → LLM generates plan and rejection options → Automated JSON and ID validation → Expert human review of sample plans → Evaluation storage and prompt refinement.