1. A computer-implemented method comprising: assigning a respective task to each user of a plurality of users, the task having a schedule indicating one or more scheduled times when the user should be located at a respective geographic location for the scheduled time; sending respective information to one or more client devices, wherein each client device is associated with a different one of the users and wherein the information comprises the geographic locations indicated by the schedule for the task assigned to the user, wherein the client device is configured to track locations of the client device; receiving tracked locations from a plurality of the client devices and monitoring the tracked locations over time; determining a respective task progress for each of a plurality of first users based on the received tracked locations; calculating a respective performance measure for each of the users based on a number of tasks assigned to the user that have an on track status and a number of tasks that have an ahead status; and redistributing one or more tasks among the users based on the respective performance measures.