I've spent a lot of time over the years tinkering with my computer workflow. While I can safely say I developed a particular fondness for creating these little solutions, generally I think it's saved me considerable time.
I've found that using my inbox as a sort of a 'to-do desk' has worked well for me. I snooze, archive or delete anything that isn't relevant to me for the day. I also send myself e-mails, which I use as reminders, and I will often snooze those to the appropriate date as well. I've spent a lot of time customizing the way my inbox looks and behaves so that it only has and responds to the essential things that I need.
The default way to snooze and send yourself emails in gmail requires a few steps, so I've created workflows that cut the time these tasks take.
I set up an Alfred + Keyboard Maestro workflow that lets me snooze emails to specific dates and times using shorthand syntax. So, assuming I have one or more emails selected in Gmail, I will toggle Alfred and use the keyword
z 2tue : snooze two Tuesdays from now z w : snooze 1 week in the future ! go to store, 8h : create a new reminder (sending an email to myself) to go to store and snoozing it for 8 hours. z 11a : snooze to the next instance of 11 am, which may be tomorrow. z 2mo : snooze for 2 months z d20 : pick a random time to snooze to within the next year (my personal favorite)
I built the syntax parsing in node.js, on top of a pre-existing natural language date parser called chrono, so it also takes more verbose commands, days of the week, full dates, etc. I just added custom syntax where I thought it could be more efficient and suit my workflow better.
Once the date parser figures out what date and time you're requesting and spits it out in a format that is then passed from Alfred to a Keyboard Maestro macro via osa/AppleScript. Then Keyboard Maestro handles all the keyboard input steps necessary to open the snooze window, input the date etc.
This workflow is available to use to your heart's content on github.