A device receives, from a user device, a user-defined starting point associated with a path to be navigated by a user associated with the user device, a user-defined destination point associated with the path, and one or more user-defined intermediate points provided between the user-defined starting point and the user-defined destination point. The device also creates a user-defined path based on the user-defined starting point, the user-defined destination point, and the one or more user-defined intermediate points, and provides the user-defined path to the user device.