Today I submitted a WordPress plugin called Susan Port to the official WordPress Plugin Directory.
That sentence makes it sound like this is a story about building a WordPress plugin.
It isn't really.
It starts quite a long time before that.
I used to be scared of my email
Many years ago, I suffered quite badly with anxiety.
One of the things I found particularly difficult was email.
Opening my inbox could feel genuinely daunting. There might be something in there I needed to deal with. There might be a difficult client email. There might be something I had forgotten about. There might be ten things demanding an answer when I didn't really feel capable of answering any of them.
So I did the obvious thing.
I didn't look.
Of course, not looking at your email doesn't make email disappear.
It makes it worse.
A few unread emails become dozens. Dozens become hundreds. Then opening your inbox becomes even more intimidating because you aren't just dealing with today's email. You're dealing with this enormous backlog you have created by avoiding it.
Eventually I employed a PA to help me.
One of the most useful things she did was introduce some structure to the whole thing.
Email stopped being one enormous pile.
Messages relating to clients could be organised into client folders. Things that actually required me to do something could be moved into an Action folder. Once something had been dealt with, it could be moved out again.
That sounds incredibly simple.
It was.
But it made a huge difference.
Instead of looking at an inbox containing hundreds of unrelated demands on my attention, I could look at a much smaller list of things that actually required an action.
And eventually I had another thought.
I could probably write software to do a lot of this.
So I wrote Susan Port
The slightly unfortunate consequence for my PA was that I started building software capable of doing parts of her job.
That software eventually became Susan Port.
Susan Port connects WordPress directly to Gmail and watches incoming email.
It can look at who an email is from, the sender's domain, its subject or words contained within the message and then decide what should happen to it.
For example, an email can automatically be labelled as something that needs my attention.
Another type of email can be organised into a different workflow.
A message can receive an automatic acknowledgement.
Once something has been dealt with, it can be moved into an Actioned state.
The important bit is that Gmail is still Gmail.
I can still open Gmail, read an email and reply to it normally. Susan Port isn't trying to replace email with some enormous helpdesk system containing another inbox that I then have to remember to check.
It sits alongside Gmail and deals with the repetitive administrative bits.
For years, it was just for me
I originally built Susan Port because I wanted it.
That's how quite a lot of the software I build starts.
I have a problem, I can't find something that works exactly the way I want it to work, so I build it.
When you build software purely for yourself, though, you can cheat.
You know how it works.
You know why a particular setting exists.
You can hardcode things that only apply to you.
You don't need to explain anything because you're the person who wrote it.
Turning Susan Port into something other people could install was a completely different job.
My Google credentials couldn't be baked into it.
My own name couldn't appear in email templates.
Somebody else needed to be able to install it, connect their own Gmail account, create their own rules and understand what everything did without me standing next to them.
That's when Susan Port stopped being one of my internal tools and started becoming a product.
WordPress became the control centre
One of the things I particularly like about Susan Port is that it demonstrates something I increasingly believe about WordPress.
WordPress doesn't just have to be software for publishing a website.
It can be operational software.
I already spend a lot of time building my own systems around WordPress and PHP. There's no reason the WordPress admin area has to stop at pages, posts and images.
Susan Port turns it into a small email operations system.
WordPress receives information from Gmail, applies rules, changes labels, sends replies and decides whether something needs a human being to look at it.
And because it connects directly to Google's APIs, I didn't need to build another central SaaS platform sitting between somebody and their email.
The person's WordPress installation talks directly to Google.
The Gmail connection and configuration live on their own website.
Susan Port doesn't need everybody's email flowing through my servers.
I much prefer it that way.
Then I started thinking about what happens after the email
Sorting email is useful, but the really interesting bit comes next.
An email usually exists because something needs to happen.
Maybe somebody needs to create a task.
Maybe somebody in a team needs to know about it.
Maybe information needs sending to another system.
So I built Susan Port around an add-on architecture.
The core plugin deals with Gmail, rules, labels and automatic replies.
Additional integrations can then add new actions.
An Asana add-on could turn a particular email into a task.
A Slack add-on could notify a channel when something important arrives.
A webhook add-on could pass information into virtually anything else.
That opens up a much bigger idea.
Instead of Susan Port simply helping somebody tidy an inbox, an incoming email can become the start of an automated business workflow.
I changed my mind about how to sell it
Originally, Susan Port was going to be a paid plugin.
I was planning to sell it with a lifetime licence.
While preparing it properly for release, I changed my mind.
The core Susan Port plugin is now intended to be free through WordPress.org.
I think that makes considerably more sense.
Someone should be able to install it, connect Gmail, create some rules and discover whether it genuinely makes their working day easier without having to buy something first.
The commercial side can come from the optional integrations.
If somebody uses Asana, perhaps they buy the Asana add-on.
If somebody uses Slack, perhaps they buy the Slack add-on.
If they don't use either of them, they shouldn't have to pay for or install code they don't need.
Most importantly, I don't want the free version to be one of those plugins that is technically free but becomes useless as soon as you try to do anything interesting.
The core job is the whole reason Susan Port exists.
Watch the inbox.
Recognise things.
Organise them.
Reply where appropriate.
Show me what actually requires my attention.
That part is free.
Getting it into WordPress has been another project entirely
Making something work and making something suitable for the official WordPress Plugin Directory are two rather different things.
I actually submitted Susan Port before.
The review team came back with changes that needed making and, because I didn't get back to it quickly enough, the submission eventually expired.
So I recently picked the project back up and went through it properly.
There was a lot of unglamorous work.
Sanitising input correctly.
Escaping output.
Loading JavaScript and CSS in the way WordPress expects.
Removing development and debugging tools that had no place in a public release.
Documenting the external services the plugin communicates with.
Building proper setup instructions for Google's OAuth system.
Making sure there was a sensible privacy model.
Basically, removing all of the assumptions you can get away with when the only person using the software is you.
And today I finally submitted the revised version.
Now Susan Port is waiting for review
At the moment, that's where the story is.
The new version has gone to the WordPress Plugin Review Team and I'm waiting to see what they say.
There may still be things they want changed. That's part of the process.
But I find it quite satisfying looking at what Susan Port has become.
It started with me being unable to face opening my own inbox.
Then somebody helped me create a system for dealing with it.
Then I thought I could automate the system.
Then I built it for myself.
And now, many years later, I've submitted that software to WordPress so anybody can potentially use it.
There is also something quite nice about the name.
Susan Port is essentially my virtual assistant.
She watches the emails, sorts out the repetitive stuff and hands me the things where I'm actually needed.
Hopefully, before too long, she'll be doing the same thing for other people too.
What comes next
If Susan Port is accepted into the WordPress Plugin Directory, the core plugin will be free.
From there I want to start building out the add-ons and see where the idea goes.
I can imagine integrations with task management systems, messaging platforms and other business tools.
There is probably an AI angle eventually too, particularly around understanding what an email is actually asking for, although I want to be careful not to ruin the very simple privacy model Susan Port currently has.
For now, though, I'm quite happy with what it does.
It takes a messy stream of incoming email and turns it into something manageable.
Which is exactly what I originally needed.
It's taken quite a strange route from anxiety, to a PA, to some homemade software, to a proper WordPress plugin.
But that's Susan Port.
And today she's finally gone off to WordPress for review.


