1. A method comprising: extracting event models from at least one personal planning source of a user, wherein a parameter of an event model includes event location; periodically receiving location information of at least one mobile device of the user; storing the location information in a location log; maintaining user location patterns through the location log, wherein maintaining user location patterns comprises updating a plurality of pattern models that characterizes location patterns; generating a location prediction from the extracted event models and the user location patterns; using a first content worker module, checking if the location prediction meets a set of content requirements; if the set of content requirements is satisfied, initiating content retrieval from at least one service; and pushing the content to the mobile device; wherein at least two pattern models of the plurality of pattern models are Markov chains that are characterized for two different time frames.