A computer
system provides one or more lists of product combinations to one or more shoppers over one or more networks. The computer
system comprises one or more central
processing units (CPUs), one or more memories, and one or more network interfaces to one or more networks. An electronic shopping assistant process implemented on the computer
system receives one or more inputs of constraints from shoppers, sends out the inputs to one or more shopping
list generating processes in one or more stores, receives one or more lists of recommended product combinations that satisfy the given constraints, and allows shoppers to view and select one or more product combinations from received lists. A shopping
list generating process implemented on the computer system receives one or more inputs from the electronic shopping assistant process by using an electronic shopping
list protocol, searches products in an online product catalog stored in a product
database, computes one or more lists of product combinations that satisfy the constraints given in the input, and sends lists of product combinations back to the electronic shopping assistant process again by using the electronic shopping list protocol.