A computer-implemented method comprising: receiving interactions from a user including identification of one or more extremity areas of the user's body, the one or more extremity areas relevant to selection of one or more orthotic products; providing on-screen cues and interactions to assist in positioning of the one or more extremity areas relative to one or more imaging sensors; receiving scan data from the one or more imaging sensors; generating a model of the one or more extremity areas based on the scan data including estimating one or more complete circumferences of the one or more extremity areas; identifying the one or more orthotic products based on a comparison of the model of the one or more extremity areas and one or more factors associated with the user and a plurality of orthotic products; and providing a recommendation that includes the one or more orthotic products, the generating characterized by: performing point-cloud segmentation to divide the scan data into point clusters; identifying a point-cluster centroid for each of the point clusters; identifying locations of joints in a leg of the user based on the point-cloud centroids; generating a two-dimensional depth map of the leg based on the locations of the joints; generating a point cloud of the leg based on the two-dimensional depth map; determining one or more partial circumferences that correspond to one or more points of the leg from the point cloud; and determining the one or more complete circumferences based on the one or more partial circumferences. receiving interactions from a user including identification of one or more extremity areas of the user's body, the one or more extremity areas relevant to selection of one or more orthotic products; providing on-screen cues and interactions to assist in positioning of the one or more extremity areas relative to one or more imaging sensors; receiving scan data from the one or more imaging sensors; generating a model of the one or more extremity areas based on the scan data including estimating one or more complete circumferences of the one or more extremity areas; identifying the one or more orthotic products based on a comparison of the model of the one or more extremity areas and one or more factors associated with the user and a plurality of orthotic products; and providing a recommendation that includes the one or more orthotic products, the generating characterized by: performing point-cloud segmentation to divide the scan data into point clusters; identifying a point-cluster centroid for each of the point clusters; identifying locations of joints in a leg of the user based on the point-cloud centroids; generating a two-dimensional depth map of the leg based on the locations of the joints; generating a point cloud of the leg based on the two-dimensional depth map; determining one or more partial circumferences that correspond to one or more points of the leg from the point cloud; and determining the one or more complete circumferences based on the one or more partial circumferences. performing point-cloud segmentation to divide the scan data into point clusters; identifying a point-cluster centroid for each of the point clusters; identifying locations of joints in a leg of the user based on the point-cloud centroids; generating a two-dimensional depth map of the leg based on the locations of the joints; generating a point cloud of the leg based on the two-dimensional depth map; determining one or more partial circumferences that correspond to one or more points of the leg from the point cloud; and determining the one or more complete circumferences based on the one or more partial circumferences.