Intelligent scripting for your email

MailPlusPlus is an application to ingest, process and route incoming email messages. It was conceived as a portfolio project; to show off and refine our engineering skills. We are designing, implementing, testing and deploying a substantial application using important technology (Kotlin, Spring, AWS and ReactJS). We are realizing that this could become a usable and marketable product in its own right. If that happens... I won't be unhappy.

What MailPlusPlus will do

A design diagram showing the components.

Many websites ask me for my email address. As a result I get a ever-increasing amount of spam. I have created a number of new email addresses to give out. There are even ways to create disposable email addresses. But this gets difficult to manage, and sometimes I want to get some of the mail sent to these addresses.

With MailPlusPlus I can create 100 email address, or 500 email addresses or as many as I need. I can turn these addresses on or off with a click. I can configure rules for what happens to email sent to these addresses. I can forward them to my real email or I can store the messages. I can run the messages through AWS Comprehend (a ML product) to generate keywords and then have the mail routed based on its contents.

The rules, the data and the email will be managed from a single dashboard. This will make managing hundreds of email addresses easy. The address becomes simply part of the data, a way to manage the email source.

The application will also allow you to set up a "deadman's switch" email rule. The system will ping you ever so often to ask you to confirm you are alive. If it doesn't receive a response after a set time, it will send a email to a list of email addresses. The time between pings, the time before the deadman's email is sent, the text and the recipients are all configurable from the dashboard.

The tech stack

We are builing this application with the following technology.

Our progress

We have a decent design document. We have a fairly complete OpenAPI specification of the REST API. The first part of the manager service has been built, tested and deployed to AWS. This includes the database service and a Spring Boot based REST API. We can add, modify and delete mail rules using REST requests.

We have purchased the domain, and set up AWS Route 53 and SES to retrieve emails, store on S3, and put the message on a queue for processing.

We are clearly in need of a good graphic designer.

Resources and Articles

We have published our Swagger Docs.

I have written an article on Medium; Building a Data Layer with Kotlin and DynamoDB.