1. A personal agent program executable on a user computing device for retrieving recommendations on behalf of a user, comprising: a setup module configured to receive a user authorization to monitor user activity across a plurality of computer programs used by the user on the user computing device and/or one or more other user computing devices, and one or more user recommendation preferences indicating product or service recommendations that the user would like the personal agent program to retrieve from a recommendation server; a monitoring engine configured to monitor the user activity with the plurality of computer programs according to the user authorization, the user activity including a detected current location of the user, the monitoring engine being configured to learn a behavioral pattern from the user activity; and a recommendation engine configured to; make an inference that a trigger condition for the one or more user recommendation preferences will arise, based on the detected current location of the user, the behavioral pattern of the user, and one or more contextual factors; send a request to the recommendation server for a recommendation for a target product or service according to the one or more user recommendation preferences; receive the recommendation from the recommendation server; and display the recommendation on a display associated with the user computing device.