Inspiration
It's spring cleaning time. I was going through my gmail inbox and found it really hard to selectively delete the "obvious" sales emails and invitations to past events. Wouldn't it be cool to have a self-destruct mechanism for emails that I received?
How it works
The extension runs in the background and examines your gmail inbox (with your permission). For each email, it will calculate a score and determine if the email is a personal email, a sales email, invitation or notification. If it's not a personal email, then it will calculate a self-destruct date (when this email should/could be safely deleted in the future). When that date arrives, it will automatically delete it!
Challenges I ran into
Many!
- Getting permissions for Gmail was easy, working asynchronously with the Gmail REST api... that's another thing.
- Creating a scoring algorithm to determine if the email was an appropriate email to self-destruct.
- Date manipulations galore!
- Creating regular expressions and an algorithm to search/parse through the email looking for "expiry" dates (where the sales/coupon email says something to the effect of "This offer is valid until ____") and then trying to find an appropriate self-destruct date.
- Creating complex holiday date calculators e.g. if an email mentioned that it was a labor day sale without mentioning an actual date, then Robo Trasher will determine what the actual date for labor day is (first Monday of September) and then use that date as part of it's calculations for self-destruction.
Accomplishments that I'm proud of
Meeting and accomplishing all the challenges above (the complex holiday date calculator is shared on github for all to see). I'm especially happy about learning more about the power of regular expressions and how they can be used.
What I learned
Parsing emails is not straight-forward. Uploading videos to youtube is slow.... https://www.powtoon.com/show/b04WEMie7rw/robo-trasher-promo-video/
What's next for Robo Trasher
Add customized rule-sets, maybe even consider monetizing it somehow....


Log in or sign up for Devpost to join the conversation.