My database constructs my shopping list in three phases: First, I push a button that produces a checklist of recipes by name, along with other household items. I then select the recipes I intend to prepare in the coming week, as well as other things I need to buy. The tags make it easy to select a dish from each category.
When I’ve made my choices, I push a second button, and all of the items, including the recipe ingredients with their quantities, appear on one long list. If two recipes call for one onion each, my list will indicate that I need to buy two onions; it won’t list onion twice. I flag items that I already have and don’t need to buy.
She certainly takes grocery shopping seriously, but I think she's taking the joy out of it. Her husband says she has Just-In-Time inventory. I kinda do too--I go to grocery stores several times a week and buy what I want right before I use it.
Maybe if I were shopping for a family, I'd appreciate her approach more.