In some embodiments, a server for creating photo-based projects is disclosed. The server executes a method for establishing a client-server connection between the server and a user-operated computer connected to the network, receiving images from the computer and storing the images in the a data repository, receiving a use-case identifier, performing photo analysis on the images, comprising: identifying similar images, identifying faces in the images, identifying objects in the images, identifying undesirable images and identifying relevant portions of the images, performing use-case specific heuristics on the images, comprising: grouping similar images, grouping images having identical faces, grouping images having identical objects, removing undesirable images, and cropping images to highlight relevant portions of said images, and, generating an ordered project subsequent to execution of the use-case specific heuristics, wherein the ordered project comprises the images placed in a particular order and pre-processed for printing in book form.