Inspiration

As long as I stop checking my email inbox for a while, it will be flooded with all kinds of junk information: newsletters, subscriptions, notifications, etc. Even though I keep these kinds of subscription emails to the minimum, I still sometimes find it annoying when I receive constant email notifications about things I don't care about. Therefore, I want to find a way to identify these spam information and keep my inbox distraction-free.

What it does

This utility program can access your Gmail inbox via the Gmail API. It will keep track of the number of incoming and outgoing emails over a specific date interval and associate them with specific email addresses. You can decide whether you should filter or unsubscribe from a certain email address with the statistics. If someone is spamming you with more than 50 emails a month but you don't really care about it. Then it probably means you should stop him/her from adding distractions to your inbox.

How I built it

The program is built upon queries to the Google's Gmail API. I use PyQt5 to implement a very simple GUI on top it to display the data inside a spreadsheet with sorting functionalities.

Challenges I ran into

I was not very familiar with web programming, so I spent some time trying to understand the basics.

Accomplishments that I'm proud of

It helped me identified many unnecessary email sources and keeps the distractions in my email inbox to the minimum. It's also interesting to know my email history since the creation of my email account.

What I learned

how to do basic web and gui programming, and familiarity with python programming

What's next for Inbox Analysis

In the current implementation, the querying speed is super slow. It may take over twenty minutes to load the complete history of my inbox. I can implement a multithreaded querying to speed up the process. I also want to implement some linguistic analysis of emails' content to identify the repetitiveness of information. It may help me further reduce unnecessary emails.

Built With

Share this project:

Updates