In the Beginning…
Back in 2012, my wife, Lindsey, started an Etsy shop to sell custom wedding invitations. At the time, Lindsey was a recent graduate of the University of Kansas with a bachelor’s degree in English. After university, we moved to Boulder, Colorado, so I could pursue a PhD in Engineering. Lindsey ended up working as an office manager for a software company in downtown Boulder. A coworker at Lindsey’s job mentioned that she made some money on the side selling calligraphy. Lindsey was not content with her job, so she decided to start her own business designing and calligraphing wedding materials.
Lindsey called her Etsy shop “The Postman’s Knock“, in allusion to the fact that a postman would be delivering the invitations she made. The Etsy shop was moderately successful. Along with the shop, we created a WordPress website (https://www.thepostmansknock.com), and Lindsey started blogging about the process of how to make wedding materials. She focused on the hand-lettering and calligraphy process behind them.
During this period, I was PhD student by day, and web developer by night. I would help Lindsey implement whatever thing her website needed. One of our first challenges was to create a mailing list to send new blog posts notifications to our readers. A quick Google search — and a desire to be economical — led me to Feedburner. Now, this was around 2013, and by then Feedburner had already become the “zombie” that it is today. Feedburner was still available and active, but Google had abandoned its development a long time ago. But hey, it was free (forever)! And it got the job done!
We quickly setup a Feedburner account, and happily saw our subscriber list grow to 100 readers over the next few months. Every time Lindsey published a new post on her blog, 100 people would get email notifications right away! However, the main con of Feedburner is that you have no customization options for how the emails will look, or how soon they will send after publishing a blog post. That meant that if Lindsey included a large picture in her post, it would completely distort how the email looked. But then again, it was free *forever* and we only had 100 people reading … so who cared, right?
Aweber and its awesome Etsy integration
As Lindsey blogged more and more about calligraphy, she found a niche of readers eager to learn how to create beautiful handwriting. Soon our list was nearing 1,000 subscribers, so Feedburner would not do the trick anymore. It was time to move on from our dear zombie friend.
In 2013, the main email delivery services for newsletters were Aweber and Mailchimp. Mailchimp definitely had the sleek interface going for it, but Aweber had the option to sync your Etsy shop with your newsletter to display your latest products, so Aweber won our hearts. I don’t remember much from using Aweber, just that their interface seemed outdated and somewhat complicated to me, but the Etsy sync was a must for us!
Mailchimp and its sleek interface
We were paying Mailchimp $5,000 a year for delivering approximately 12 million emails in that same period of time. We took it as granted — we just didn’t think there was an alternative! But in 2018, I noticed that our list kept growing and that our costs would increase significantly by 2020. So I started doing some research, and I came across Amazon Web Services.
Amazon Web Services was a godsend
Amazon Web Services offers cloud computing services. One of those services is Amazon Simple Email Services (Amazon SES). SES is pure input/output — you provide it with an email to send and it sends it right away, at $0.0001 per email. The price is magnificent, but managing a mailing list is more than just sending emails.
We needed a platform that would be able to group emails in batches for faster delivery (SES allows you to send 50, 100, or more emails per second). We also needed it to handle email bounces marked as spam complaints; and track opens, clicks, and unsubscribes! We knew we didn’t want to use our WordPress website for this. Why? Because sending 50 or 100 or 200 emails per second in batches to Amazon SES consumes a lot of CPU, and that may lead to website visitors getting 50x errors, or experiencing slow loading times on the frontend. The heavy lifting had to be done by a separate server. And that’s when we discovered Sendy!
What is Sendy?
Sendy is a self-hosted email newsletter application that lets you send trackable emails via Amazon Simple Email Services (Amazon SES). We now had all the pieces of the puzzle together! However, getting my wife on board was a bit more difficult since she was used to the Mailchimp UI. So, we set out to develop a WordPress plugin to interact with our Sendy installation. That way my wife would be able to use an interface that she was familiar with, WordPress.
Why didn’t we use existing newsletter plugins?
We sure tried! We sampled Mailster, Mailpoet, Newsletter, and even the new WP Offload SES. The problem? First, there was the issue of sending 75,000 emails with WordPress in under an hour. Most of those plugins send one email per second, which isn’t ideal for a large mailing list. In some plugins, you can get better speeds by sending the emails using their servers, but you are back to square one with pricing. If you hook the plugins with Amazon SES, they are either not able to take advantage of sending emails in batches; or if they do, they kill your WordPress server. We did some testing using Amazon EC2; at 100 emails per second, you are pretty much using your CPU at a maximum on a 1 vCPU server. So we decided to build a plugin that would work only as the beard of a mailing server, which itself would work as the middleman between WordPress and Amazon SES.
After approximately 9 months of software development, Boldermail was born! During those 9 months, we used earlier versions of Boldermail on our live site. We kept delivering emails to our 75,000 subscribers without a peep! Now, we feel content with our solution, and we’re certain that other small- to medium-sized businesses might want to share in our joy! So it you are interested, don’t hesitate to contact us at firstname.lastname@example.org, or check out our subscription plans here.
Thanks for reading,