1. A method for generating an analysis of a motion, comprising: receiving, by a first computing device, image data that includes a set of user images, each user image in the set corresponding to a stage of a plurality of consecutive stages of the motion and depicting a user at the corresponding stage; for each stage of the plurality of consecutive stages, determining a plurality of motion point locations in the corresponding user image; and based on the plurality of motion point locations and reference motion data associated with a reference motion, generating a user motion report.