1. A method comprising: receiving, by a user device comprising at least one processor, information associated with one or more access points, wherein the information comprises a respective received signal strength indicator (RSSI) and a respective identification of the one or more access points; determining, by the user device, an approximate location of the user device, the approximate location comprising one or more candidate locations, wherein determining the approximate location of the user device comprises implementing a first localization technique based at least in part on the received information; determining, by the user device, an error associated with the approximate location of the user device; increasing, by the user device, the number of the one or more candidate locations based at least in part on the error; determining, by the user device, a relevant subset of candidate locations based at least in part on a comparison of (i) a plurality of stored locations for an area associated with the received information to (ii) the one or more candidate locations; and determining, by the user device, a location of the user device, wherein determining the location of the user device comprises implementing a second localization technique that compares the received RSSIs to stored RSSIs associated with the relevant subset of candidate locations to determine the location of the user device.