1. A method comprising: accepting, by a computer processor of a computing system executing an input and response generation layer of a software application, queries and assumptions associated with shopping habits of a shopper; generating, by said computer processor executing a content query engine of said software application, responses to said queries, said responses associated with product features for products; characterizing, by said computer processor executing a heuristic reasoning engine of said software application; a group of shoppers and associated interests resulting in a creation of a group of recommended products, said group of shoppers associated with said shopper; determining, by said computer processor executing a dependency directed backtracking process with respect to said characterizing, alternative products associated with said recommended products; and managing, by said computer processor executing a truth maintenance engine of said software application, a consistency of assumptions generated during said executing said dependency directed backtracking process.