Popular route planning systems (Windows Live Local, Yahoo! Maps, Google Maps, etc.) generate driving directions using a static library of roads and road attributes.  They ignore both the time at which a route is to be traveled and, more generally, the preferences of the drivers they serve.  We present a set of methods for including driver preferences and time-variant traffic condition estimates in route planning.  These methods have been incorporated into a working prototype named TRIP.  Using a large database of GPS traces logged by drivers, TRIP learns time-variant traffic speeds for every road in a widespread metropolitan area.  It also leverages a driver’s past GPS logs when responding to future route queries to produce routes that are more suited to the driver’s individual driving preferences.  Using experiments with real driving data, we demonstrate that the routes produced by TRIP are measurably closer to those actually chosen by drivers than are the routes produced by routers that use static heuristics.