It already exist, Don’t forget the milk, Out of milk and more.
They synchronise nicely and allow the whole family use the same list; very good for updating the shopping list at work for the one at paternal leave at home.
What I miss though is:
I want it to reorder my shopping list to be a pickup list in the same order as in the store. It could sense in which order I ticked off the items and make guesstimates the next time I fill out the list. I don’t know exactly what the algorithm should like. There are different list orders for different shops.
It should change behaviour when I enter the list and when I am in the shop. It could be a switch or it could use geo info and automagically switch.
If it uses geo data it can also differ between different stores and alter the list’s order to the actual shop.
Ok, so now the app or html knows where we are and what to shop. Time to get offers and alternatives. The shop has offers, the suppliers might have offers, there might be third parties with offers, neighbouring shops might have offers. Download and show.