1. A method comprising: providing, by a computing device, a plurality of images for selection to a client device of a user; receiving, by the computing device from the client device, user selections from the plurality of images; determining, by the computing device, a number of user selections from the plurality of images; determining, by the computing device, if the number of user selections from the plurality of images is less than, equal to or greater than one, wherein when the determined number of user selections from the plurality of images is greater than one, an image selection procedure is executed by the computing device, the image selection procedure comprising: extracting, by the computing device, features of the user selected images; retrieving, by the computing device, other images from a data store based upon the extracted features; clustering, by the computing device, the other retrieved images and the user-selected images based on the extracted features; identifying, by the computing device, at least one cluster comprising the other retrieved images and at least one of the user-selected images; ranking, by the computing device, the images from the at least one cluster based on respective relevancies to the user-selected images; transmitting, by the computing device, images from the at least one cluster comprising the other retrieved images and at least one of the user-selected images as similar images for selection to the user; configuring, via the computing device, a display of the similar images based on the ranking; when the determined number of user selections from the plurality of images is equal to one, a product selection procedure is executed by the computing device, the product selection procedure comprising: providing, via the computing device, to the client device, details of a product associated with the user-selected image from the plurality of images; facilitating purchase, via the computing device, of the product associated with the selected image; and providing, by the computing device, the user-selected image from the plurality of images as training data for increasing precision of the identification of similar images, comprising: receiving, by the computing device, the user-selected image from the plurality of images as a cluster; determining, by the computing device, with a verified model that the precision of similarity identification is less than a predetermined threshold; and increasing, by the computing device, the precision by providing more training data until the precision of similarity identification reaches the predetermined threshold; and when the determined number of user selections from the plurality of images is equal to zero, providing, by the computing device, a second plurality of images for selection.