1. A method performed by a mobile device, the method comprising: identifying a destination that a user intends to travel to; computing one or more routes for traveling to the destination, wherein each of the one or more routes includes route progressions, a route progression indicating a discrete length of a road that is part of a route; for each of the one or more routes, analyzing the included route progressions based on preferences for travel associated with the user, wherein the preferences include disfavored route progressions or disfavored locations, a disfavored route progression indicating a route progression to be avoided while driving to the destination, and a disfavored location indicating a geographical area that is to be avoided while driving to the destination; and selecting a route from the one or more routes based on an aggregate number of disfavored route progressions or disfavored locations included in each route.