1. A method implemented at least partially by a processor, the method comprising: receiving global position system (GPS) logs from user devices associated with GPS sensors; accessing, from a database storing the GPS logs, a first trajectory having a plurality of points, wherein an individual point in the plurality of points identifies a geographic location previously visited by a first user with a first user device of the user devices; generating a first user interface to provide functionality for a second user; causing the first user interface to be presented to the second user via a display of a second user device of the user devices associated with the second user, the first user interface: including a first map illustrating the geographic location, and configured to receive input from the second user; receiving a set of desired geographical locations from the second user via the first user interface, the first map illustrating at least one location of the set of desired geographical locations; receiving a request for a second trajectory associated with the set of desired geographical locations; determining that the first trajectory is a candidate trajectory based at least in part on: calculating, by the processor, a spatial distance between an individual point of the plurality of points and a desired geographical location of the set of desired geographical locations; calculating, by the processor and based at least in part on applying a similarity function to at least the spatial distance, a proximal similarity between the first trajectory and the set of desired geographical locations; and determining that the proximal similarity is less than a predetermined threshold; accessing additional trajectories to create a set of candidate trajectories for determining the second trajectory, wherein the set of candidate trajectories includes the first trajectory; removing unqualified candidate trajectories from the set of candidate trajectories based at least in part on proximal similarities determined between the set of desired geographical locations and individual unqualified candidate trajectories of the unqualified candidate trajectories, wherein resulting candidate trajectories comprise a refined set of candidate trajectories; identifying the second trajectory from the refined set of candidate trajectories, wherein the second trajectory is determined based at least in part on a latitude of the desired geographical location determined by a GPS sensor of the first user device, and a longitude of the desired geographical location determined by the GPS sensor; generating a second user interface to provide functionality for presenting the second trajectory to the second user; and causing the second user interface to be presented to the second user via the display of the second user device, the second user interface including a second map illustrating: the set of desired geographical locations, the second trajectory connecting each location of the set of desired geographical locations, and an ordered travel sequence corresponding to the second trajectory.