Location-awareness is an important concept in pervasive computing. Using programmable mobile phones we can equip users with software that tracks cell transitions in a GSM network. With this location data and other context variables we can determine places that are important to the user, and make predictions about the next location when the user is moving. The predictions and location data can be made available to others, in a form of a presence service. The learning algorithms work solely on the user’s personal phone and do not need any external server infrastructure. Because the user is in control of the movement data, we avoid otherwise problematic privacy issues. This paper describes the task of learning routes and predicting future locations by maintaining a database of physical routes. Route predictions are based on approximate string matching techniques. When a confident prediction cannot be made, we attempt to predict at least the general direction of movement by finding places where different routes fork.