A method comprising: receiving, by a server device from a first computing device, current location information associated with the first computing device; estimating, by the server device, a travel radius of a second computing device based at least in part on location information previously received from the second computing device, wherein the travel radius includes a region of possible movement by the second computing device since the location information was previously received from the second computing device; determining, by the server device, that the travel radius of the second computing device overlaps a proximity radius of the first computing device, wherein the proximity radius includes a region that extends outwards for a specified distance from a current location of the first computing device; responsive to determining that the travel radius of the second computing device overlaps the proximity radius of the first computing device, querying, by the server device, the second computing device for updated location information; receiving, by the server device, the updated location information for the second computing device; determining, by the server device, that the second computing device is physically located substantially within the proximity radius of the first computing device based at least in part on the updated location information received for the second computing device; and responsive to determining that the second computing device is physically located substantially within the proximity radius, sending, by the server device to the first computing device, an identification of the second computing device. receiving, by a server device from a first computing device, current location information associated with the first computing device; estimating, by the server device, a travel radius of a second computing device based at least in part on location information previously received from the second computing device, wherein the travel radius includes a region of possible movement by the second computing device since the location information was previously received from the second computing device; determining, by the server device, that the travel radius of the second computing device overlaps a proximity radius of the first computing device, wherein the proximity radius includes a region that extends outwards for a specified distance from a current location of the first computing device; responsive to determining that the travel radius of the second computing device overlaps the proximity radius of the first computing device, querying, by the server device, the second computing device for updated location information; receiving, by the server device, the updated location information for the second computing device; determining, by the server device, that the second computing device is physically located substantially within the proximity radius of the first computing device based at least in part on the updated location information received for the second computing device; and responsive to determining that the second computing device is physically located substantially within the proximity radius, sending, by the server device to the first computing device, an identification of the second computing device.