A non-transitory computer readable medium comprising computer software operable, when executed, to cause one or more processors coupled to a trip database storing information indicative of a personal road network of roads previously traveled by a user of a mobile device, one or more road segments in the personal road network being associated with a respective destination location, to perform a method of determining a destination of a user of the mobile device, the method comprising:
- selecting a given road segment from the personal network based on a current location of the mobile device;
- executing a route search algorithm to generate a route based on costs associated with road segments, the route search starting from the given road segment from the personal network, wherein the cost for each road segment is computed based on attributes associated with traversing the road segment, and wherein the cost for each road segment is reduced when the road segment is included in the personal road network;
- determining the destination based on the route;
- and
- providing the destination to the user for selection as a destination of a current journey.