1. A computer-implemented method comprising: receiving, at an advisor server implemented by one or more integrated circuits, user data pertaining to users from a plurality of client devices over a computer network; receiving, at the advisor server from the plurality of client devices, product data associated with the users, the product data comprising product reviews, product ratings, a first list of products determined as owned by the user, and a second list of products determined by the user as wished-to-be-owned by the user; profiling, by the advisor server, the users based on the received user data and product data; providing, by the advisor server, a graphical user interface (GUI) comprising user interface elements for: searching product data, retrieving product data, reviewing products, rating products, and rating product reviews; and searching and retrieving lists comprising owned products of other users, wished products of other users, and recommended products of other users, wherein products on each retrieved list that are owned by the retrieving user are highlighted on the retrieved list; normalizing the first list of a first user based on a standardized product list, the normalizing to reduce a number of database queries generated by the GUI when searching product data relative to a number of database queries generated by the GUI when searching without the normalizing; calculating a respective similarity percentage between the first list of the first user and each of a plurality of normalized first lists of other users; and automatically generating, by the advisor server, a ranked list of recommended products that are not on the normalized first list of the first user based on the similarity percentages and a number of instances of the recommended products on the normalized first lists of the other users and at least one of: product data, reviewed products, rated products, and rated product reviews of the first user with other users.