1. A computer-implemented method, comprising: storing, in a computing apparatus, a route dictionary containing a plurality of route words identifying a plurality of routes previously traversed by a user, wherein each respective route word in the route dictionary includes an ordered sequence of symbols, each of the symbols identifying a predetermined vertex in the plurality of routes previously traversed by a user; storing, in the computing apparatus, term frequency data of the route words of the user based on frequencies with which the user has traversed respective routes represented by the route words; communicating, by the computing apparatus with a user device, to identify one or more vertices of a route currently being traversed by the user based on GPS data from the user device; generating, by the computing apparatus, a partial route word from a starting sequence of symbols representing the one or more vertices respectively; while the user is currently traversing the route, predicting, using a text prediction technique for predicting from a given partial word a complete word in a dictionary according to term frequency, a particular route word in the route dictionary containing the partial route word; identifying, by the computing apparatus, a remaining sequence of symbols that follows the starting sequence of symbols in the particular route word; predicting, by the computing apparatus, a remaining portion of the route that is currently being traversed by the user as being identified by a set of vertices corresponding to the remaining sequence of symbols in the particular route word; identifying, by the computing apparatus, a message based on the remaining portion of the route; and transmitting, by the computing apparatus to the user device, the message before the user completes the predicted, remaining portion of the route.