I have a terrible memory. One of the many ways this rears its ugly head is that I forget birthdays all the time. Shortcuts to the rescue!
Because of my bad memory, I have been putting everyone’s birthday into Contacts (formally known as Address Book) for years. This shortcut will scan your contacts, find everyone who has a birthday recorded in the contact card, and if their birthday hasn’t already passed this year, generate a reminder for three weeks before their birthday to get them a present. For me, I create that reminder as a task in OmniFocus, but you can modify it as you need to use Reminders or any other scriptable task manager. The only thing you have to do is remember to run the script - I have a recurring task in OmniFocus to do that, too.
Next time you have a present for a friend or family member weeks in advance, I will humbly accept your thank you. 🙂