Why grocery is harder than retail
Grocery orders are large, frequent and time-sensitive, and the failure modes are specific: an item that was in stock at ordering is gone at picking, weight-based products cost a different amount than shown, and the customer needs delivery within a window they will actually be home. Get any of those wrong and the customer returns to the shop permanently, because the whole proposition was convenience.
What we build for an online grocery
First, live stock by store with substitution rules the customer sets in advance, since that is the single biggest cause of abandonment. Second, weight-based pricing handled correctly, with the final amount confirmed after picking rather than surprising the customer. Third, delivery slots with real capacity, because an unmet window loses the account. Fourth, repeat basket ordering from purchase history, which is what turns a trial order into a weekly habit and is the entire economics of this model.
