The story and lessons behind sustainably scaling EmailOctopus
Last month we hit a significant milestone in the journey of our email marketing platform, EmailOctopus. Over the past couple of years we’ve hit a number of milestones; hundreds of customers, thousands of users and hundreds of thousands in revenue. But 1,000,000,000 emails, despite being very much a vanity metric, feels like our most significant milestone yet. We’re super proud of the difficult work, much of it complex and technical, in acquiring, keeping and servicing our users.
We’ve never shared too much about the story behind EmailOctopus, about how in a world awash with VC funding, we’re growing sustainably and organically without taking on any capital. Unlike Uber or AirBnb, at EmailOctopus we’re not setting out to own the universe. Instead we’re looking to make a mere dent in it while having a fun, enlightening time doing so.
This is our story.
How we started
The idea behind EmailOctopus was conceived back in early 2014; a side project born from a personal need. At the time, our co-founder Jonathan was working on another project which had built up a reasonable base of users. Most of those opted into email updates but at 2,000 subscribers the costs of sending those monthly blasts through MailChimp became too great. Jonathan wrote a quick script which looped through his database and sent those emails through Amazon’s Simple Email Service, a platform for programmatically sending emails. It went well – deliverability was on a par with MailChimp and most importantly, it didn’t cost a penny.
Almost a year later and even though big players were sending all their email comms and marketing through SES (see Netflix, Uber, Spotify), no SaaS solution existed. Teaming up with his brother, Gareth (a marketer with an equally expensive email bill), EmailOctopus was born with the mission to fill that gap. A lander was launched and we started collecting emails for what promised to be a disruptive new platform:
Six months on and our MVP was barely more advanced than that initial script – a free platform which allowed users to hook up AWS and send emails and manage unsubscribes, bounces and complaints. We posted to Hacker News, Reddit, Twitter and sent an email announcement to the leads collected via our lander and we quickly generated 2,000 sign ups.
It wasn’t until July 2015 that we monetised the platform and added paid plans. In hindsight this wasn’t the smartest move – we’d spent almost a year validating our MVP against a free model. And while the large user base had helped us iron out a lot of the kinks and bugs in the service (users are a lot more forgiving when they’re not paying anything), over 99% of them dropped off when we imposed limits on the free plan. Things had started to get difficult.
Many businesses describe the first 10 customers as the hardest to get. While our user count had taken a huge hit overnight, we felt quietly confident that crossing that line had given our small business enough validation to keep going.
All growth is not good growth
Under our new pricing model we began to pull in a couple of hundred signups a month, around 10% of which were converting. However there are a lot of nefarious people in the email marketing industry (who knew!?) – and we’d inadvertently creating one of the most accessible email marketing platforms out there. For casual spammers and black-hat marketers, we must have seemed like a gift from God.
It was clear we had a spam issue. While all emails are sent through the user’s SES account (Amazon do a great job of shutting down spammers), we had a brand and a relationship with Amazon to protect and valued our relationship with Amazon. We put all new features on hold and began building in programmatic checks to avoid spam emails and questionable sign-ups.
Our growth naturally slowed and there was no doubt that this change meant less money in our own pockets – a bitter pill to swallow when you’re bootstrapped. But we always wanted to build an ethical, long-term product, doing business the right way. And certainly not one which fills up your inbox with penis enlargement emails.
So how do we go about acquiring good quality users on a bootstrapped budget?
Side project marketing. This comes under a number of different monikers but it essentially involves creating a separate product and using it to promote your core product. Hubspot are one of the main proponents of this technique, launching apps such as MakeMyPersona and Website Grader. At EmailOctopus we chose to spin out our responsive email templates into a free standalone product, complete with its own landing page and Github repo. We launched on Product Hunt and were one of the most successful submissions of the week with over 650 upvotes. Six months on and this channel just keeps on giving, with hundreds of downloads a month and many users going on to become paid customers. If you want to read more on this we have a dedicated post going into further detail.
When we’re not creating side projects, we’re regular focus on upgrading users who try us out but don’t upgrade. Our most successful push at doing this was during the Black Friday weekend. We weren’t alone – in 2016 a huge number of B2B SaaS businesses tried to jump on the holiday traditionally favoured by the retail sector. Our proposition for Black Friday revolved around encouraging our leads (free/churned users) to return to EmailOctopus to send out their Black Friday campaigns at a hugely discounted price – just $1 for an email campaign to 250,000 subscribers. The campaign consisted of a specific Black Friday landing page and an email campaign sent to all existing leads, both of which added almost $1000 in monthly recurring revenue.
We continue to come up with new and innovative ways of marketing EmailOctopus, but nothing beats the power of word of mouth. We always set out to offer a highly personal service to all of our users (even those on our free plan), and while it uses up a lot of our resources, we think it’s worth it. Over 20% of our customers come through a personal recommendation.
Building a system which is capable of sending millions an email a day has presented a number of unique challenges. Almost all of the code from our MVP has been thrown out (remember that big PHP loop we mentioned?), and in its place is a system that can expand as quickly as our customer base does. We strive to never let our growth get in the way of performance, and we’re proud to say that we’re the only product on the market that promises to send as quickly as an SES account allows. No matter how well we’re doing!
Another side effect of rapid growth is a rapidly expanding database; before setting out we never predicted quite how much data email marketing could generate (1 terrabyte to date!). A single campaign alone can generate hundreds of thousands of events that need to be categorised, stored, processed and presented to a user. Every open, click, bounce, spam report and unsubscribe goes through an EmailOctopus server to be tracked, so it’s vital we’re ready to receive and process them quickly. This is where self-hosted solutions can fall down – many of our customers tell us that they moved to us after what amounts to a DDOS of their own server during a large email blast.
We are, of course, using a large chunk of AWS’s suite to power this beast – around 15 of their products at last count. The core of EmailOctopus sites on a number of microservices spread over EC2 and Lambda, which allows us to selectively scale parts up and down depending on demand. That really helps keep our hefty AWS bill under control. Our most important lesson to date? Rigidly relying on CloudFormation to script and edit that infrastructure – every change is version-controlled and propagates across all of our environments.
Scaling the team + moving offices + remote working
Together our inhouse team handles all of the support, marketing, product work and oversee all technical development, but as our user base and revenue grows, we’re left wondering how much we should re-invest in scaling the team. As a bootstrapped business we’ve already become experts in rigorously prioritising features – with us often reverting to the simple question of; “Will it drive more revenue than Feature X? Will it save us time than Feature Y?”. But becoming more established brings extra demands on all of the team, many of which don’t involve feature development. It’s important to keep the pace – we aim to release a new feature every week – which means our small team has had to grow to accommodate.
We chose to use freelancers to to do this. Freelancers are great for a small growing business as it allows you to use the right person for that project without the long-term responsibility and paperwork that an employee may bring. At any one time we have up to 5 different freelancers working on EmailOctopus, in technical, design and content roles. All of these come from personal recommendations, which means the quality of work remains high. If you’re not so lucky then make sure to take your freelancers on for a small task before committing to a larger chunk of work. Pick your freelancers carefully.
This doesn’t mean we don’t plan to expand our inhouse team – we have a couple of desks free and expect to expand soon. But for now we’re enjoying the luxury of not having to manage contracts, HR and all the other distractions that employees can being. This will no doubt be a tough learning period and will surely be covered in a future blog post.
For two years, Jonathan and Gareth were running EmailOctopus as a side project alongside their full time roles. As things got busier this put considerable strain on their personal time – evenings and weekends were consumed by coding and support. Jonathan took a long while before he felt able to take the plunge and go full time on EmailOctopus, however he strongly advocates this approach. On advising another founder in a similar position:
“If you can, stay in employment a while longer and validate your MVP in your spare time. I had a few ideas which missed the mark and it took me almost a year to find a project that showed the growth I was looking for. If I hadn’t had the luxury of a monthly pay packet, I would have ran out of money before I had the chance to properly pursue the goal.”
For Tom, who begun working on EmailOctopus in April last year, moving from a position as a salaried Product Manager in an established scale-up to a much smaller start-up with no full time employees was an interesting transition. The change naturally meant a significant reduction in salary, so in order to cover that shortfall he also picked up contract roles for 2 days a week at other startups such as Property Partner, a London based property crowdfunding website. The day rates offered freelancing in Growth and Product covered much of the shortfall, allowing him to focus 3 days a week working on EmailOctopus.
2 years on the benefits of running our own business, far outweigh the negatives and challenges that we’ve had to overcome.
Our focus since starting EmailOctopus has been to grow it sustainably. We want to grow as quickly as possible, but not by spending beyond our means.
The risk in focusing on profit and growing sustainably is that you quickly develop a lean mindsight. In fact we’ve all become quite averse to the idea of spending money on almost anything aside from our server fees and staff. We’ve seen strong growth for 2 years without a specific marketing budget – but that doesn’t mean it wouldn’t have been stronger with some money behind it. To overcome these fears we’ve started to allocate specific budgets for marketing; exploring new channels and scaling existing ones. Facebook ads are working fantastically, and with the help of freelancers, we’re able to regularly refresh the content.
To make sure we’re always moving in the right direction we’ve created a number of dashboards with our most important KPI’s; MRR number of customers (trialling, active, churned) and a funnel which tells us how many customers go from sign up to sending an email. Each month we choose a measurable metric which we are keen to move and focus at least 50% of our team efforts on that goal, Spotify style. Before that custom dashboard, a free Hotjar account was an excellent way of measuring those goals. We continue to rely heavily on ChartMogul to help us keep on top of our finances.
Automating or at the very least speeding up menial tasks, has also been important in growing the business. One of our biggest improvements in productivity came from quickly creating an admin dashboard.
As a team made up of technical users, we’d happily spend 10 minutes on a support ticket pulling the right data from our MySQL tables. Technical people are so used to solving problems that we become content in finding workarounds, they’re great at an early stage, but the time wasted as you scale will add up significantly. Now if we receive the same query 5 times (“Why doesn’t my campaign look right?!”) we make sure to add a quick diagnosis tool to the dashboard. Most importantly, we have a meeting every month to track exactly where time and money is being spent. Tracking that output is vital for growing a sustainable business.
Round-up and where we hope to go
So that’s our story so far. In the space of 3 years we’ve managed to take an idea and turn it into a viable, profitable, business without taking on a penny of funding or dipping into our own bank accounts. We’re looking to continue on the same track for years to come, using our money wisely and carefully to grow the business to an even greater scale.
By growing the business ourselves and taking on no funding from Venture Capitalists we’re think we’re more able to make decisions ourselves about the future for the business. We don’t have to concern ourselves with what will drive the best return on a moon-shot investment and instead we can zero-in and focus on doing what’s best for us and our customers.