Paul Graham wrote a very influential article in July 2013 entitled Do Things That Don't Scale. Speaking as a bootstrapper of many years, doing things that don't scale is the only way I know how to get things done in the early days. Bootstrapping by definition means that you don't have a lot of money to work with, which forces you to cut down your product to the basics and rely on manual processes wherever you can. Because of time constraints and priorities, for over six months since Uncover went live in May 2013, we've worked our way through a very annoying and time consuming manual process that we finally automated as of late October. This is the story of that process, why it remained manual for so long, what we learned and why in the end I'm happy we didn't automate it from the beginning. That process: order fulfillment.
The Manual Process: Order Fulfillment
A quick backstory on Uncover for those of you who don't know is that Uncover allows you to give your employees perks and rewards. We have a large marketplace of categories to choose from, including Music, Books, Coffee & Tea, Movie Tickets and more. We wanted employers to be able to choose to offer Music, for example, and for each employee to be able to choose among Spotify, Rdio, and iTunes.
Part of our sales pitch is that we don't charge employers for unredeemed perks or rewards. If an employee never chooses a music service, then the employer is not charged for it. However, when an employee does choose a service such as Spotify, the manual process we had in place would work like this:
- An employee chooses the service they prefer.
- We would bill the employer for the cost of the Perk.
- We would receive an email stating that a Perk has been redeemed and what its value is.
- In our Admin section, an order would show up as unredeemed.
- We would open up Google Drive, copy a coupon from the corresponding spreadsheet, cross it off and move it to the Used tab.
- And finally we'd paste the code into the correct unfulfilled order and submit.
This process may not look to be a whole lot of work for an individual order, but when you're beginning to process hundreds of orders a month as we are, then the time really starts to add up. Completing one order from start to finish takes an average of about sixty seconds to two minutes depending on what you've got opened in your browser tabs.
The other downside to this manual process is that someone has to monitor the orders email address at all times of the day to process orders in a reasonable amount of time. If the process were automated, then our customers would not have to wait to receive their coupon codes. They would have redeemed them, and we'd be able to instantly display them for use, leading to a much better user experience.
During our first month of releasing Uncover, neither of these concerns was important enough to us to warrant automating the process. Automating the process too quickly would have added unnecessary scope to our release and wouldn't help us to test whether Uncover was something people wanted at all. Six months later, we felt confident enough that Uncover was something that companies wanted that implementing automatic fulfillment was important for us to do — not only to save us time during the month, but also to better the user experience.
Automating the Process: Order Fulfillment
The automated process of order fulfillment is now live and is saving us time, freeing us from drudgery, and is a much better experience for our customers. The total build time took around 20 hours of development from start to finish. Here's how it works:
- The employee chooses the service they prefer from the Perk or Reward that the employer gives them. (Same as before.)
- We bill the employer for the amount of the Perk or Reward in the same way. (Same as before.)
- The employee immediately receives the coupon code for their choice.
With our automated process, we were able to remove three tedious tasks from our end and to deliver a better experience for the employee. Nobody wants to wait to receive something they've just ordered.
As Paul Graham wrote in his article referenced above: “When you only have a small number of users, you can sometimes get away with doing by hand things that you plan to automate later. This lets you launch faster, and when you do finally automate yourself out of the loop, you'll know exactly what to build because you'll have muscle memory from doing it yourself.”
Knowing exactly what to build and what the pain points were was the experience we gained after having manually fulfilled more than 1,000 orders over close to six months. I wouldn't trade that experience for anything. We learned so much about our customers' habits from mediating between their order and its delivery. We were also able to ship twenty hours faster by not having implemented the automatic system from the beginning. If Uncover had flopped, then that's twenty hours we would never have gotten back. For a bootstrapped company with limited resources, losing twenty hours is devastating.
In agreement with PG, I strongly recommend finding ways that you can automate your web application to save time and to have a hand in the process. You'll learn a lot from this, you'll save valuable development time and you'll know exactly what you need to be successful when it's time to automate things.