Android: Tasker can handle a lot of complicated automation. If you're looking for something a little more targeted, Location Reminder can send customized notifications based on your location using some of the fancy new geofencing techniques recently added to Google Play Services.