Issues we see today
It has been brought to our attention that digital pollution has various detrimental consequences on the environment; as we found out that sending an email emits 10g of CO2 and its other impacts on the environment, we empathize with this issue of using emails in a more eco-friendly manner and the fact that not so many people are aware of the impact of digital pollution as it does not have apparent trace, such as colour or smell. Among many, one of the main culprits is emails. Once they are sent out, they are out there forever. This might not initially seem like a lot, but considering how frequently people write, receive, and send emails on a daily basis, this really adds up. While deleting old emails and clearing the inboxes can be a good starting point, we believe an easy-to-use email application that promotes the reduction carbon emissions can contribute to protecting the environment.
As the business grows, we see the increases in the advertisement and our goal is to reduce the load of advertisement by reducing the size of the content. Without resizing the image, we proposed that converting the original image to the Grayscale image will reduce the size of the email content that can help to reduce the carbon emission.
Implementing the solution
Our main language of choice was Python. Python was very compatible with Gmail API and Google Cloud AI API and very easy to implement.
We created the filter bot, using Google Cloud AI, to distinguish between the advertisement and the non-advertisement images with OCR (Optical Character Recognition) and Logo Detection technique. The formula for the bot's evaluation has been tested and corrected using the statistical analysis from the real life sample test.
Java was another language that we used for the image processing. To reduce the number of executing time for converting the colour for each pixel, we used the concurrency programming technique to allow multiple threads to convert the colour of assigned pixels without wasting CPU's performance.
To integrate between Java and Python, we used py4J program which allows to execute the Java program from the Python program and vice versa.
Challenges we have faced
We have realized that there was no experienced front-end programmer to connect between the UI and the back-end. Even though we have managed to integrate between the UI and the back-end, we consider finding the front-end programmer if possible.
We also encountered the time management issue where some of the team member does not live in the same time zone. This lead to inconsistency when we are trying to regroup and attempts to have everyone on the same page.