This founder built a product to solve a problem he had experienced as an Amazon seller. Today his product is generating $6,500/mo, with 3,000 users.
Hey Indie Hackers! I'm Keith Brink and I'm currently running AZLabels, a product to take the frustration out of printing labels on thermal printers, primarily targeted at Amazon Sellers. It's been a fun journey growing from a free Chrome extension to a full-blown SaaS product with all the trimmings.
I've been an entrepreneur since I was a kid and so far I haven't grown out of it. I've tried a bunch of ideas but only ever seriously committed to three. My first business was a virtual assistant sourcing company, my second was selling toys and games on Amazon, and my third and current business is AZLabels.
Since AZLabels was launched in May 2017 it has grown to ~$6,500 MRR, 3,000 users, and nine million printed labels, which I estimate to have saved our users over seven years worth of labor.
I was an Amazon seller myself and was spending up to an hour every day just getting labels to print properly. Super inefficient. Every Amazon FBA seller has to label each product and then label each box that gets shipped to Amazon. Once you start shipping products regularly you go through a lot of labels, so buying a thermal printer to save money on ink and label paper make economic sense.
However, the process of getting the labels into a format that the thermal printer understands was a hassle. I had to choose between a long manual process that took 20-30 minutes per shipment, or some ancient software that was expensive, slow, didn't work half the time, and had zero customer service.
After I took a couple of months building out an automated solution, I realized that there were likely other sellers experiencing the same issue. So I put up a basic landing page with Viral Loops to see if there was any interest in purchasing my product.
To be honest, it wasn't a wild success. I think I got 20 sign-ups in a month which was way lower than I was hoping for. But I figured I should just release it and if it only made a couple of hundred bucks a month it would be better than nothing.
The first version of the product was a Chrome extension that grabbed the label data from Amazon's seller dashboard and sent it to a server that formatted the labels for the thermal printer and returned a PDF. I didn't have a way to charge money or a proper customer portal since I built it essentially for myself.
That version took me about two months to complete. It was definitely a side project that I worked on in the evenings and spare time throughout the day.
I think I spent a couple hundred dollars on the project at the most just for the basics: domain name, Google Chrome Developer account, a couple of Digital Ocean servers, and so on.
I had a bit of experience with building out a technology project from scratch because I had built backend systems to automate as much of my previous businesses as possible, so I was able to build on that experience to have a solid foundation for scaling the product. For example, instead of hard coding label templates on the server, I created flexible tooling that made it easy to tweak settings or add new types of labels without duplicating a lot of work. Little decisions like that make AZLabels a lot easier to manage now, even though it took longer to develop.
My current stack is DigitalOcean, CentOS, nginx, MySQL, PHP 7.2, Laravel, Laravel Forge to manage the servers, Laravel Spark for SaaS, Stripe for payments, Jigsaw from Tighten as a static site builder for my frontend, Tailwind CSS, and Vue.js.
After I put out the first version of AZLabels I emailed a couple of people to ask them to start using it, just to work out all the bugs that I personally didn't encounter. I think it's important to release an MVP quickly, but it's also important to make sure your product is worth paying for. I've found that a happy medium is telling people how much you will charge them once you launch, and then waiting until the product is stable enough before charging them.
After that, I launched to the 20 people on my sign-up list and asked them to pay $5 a month to print as many labels as they wanted. Half of them signed up which I took to be a good sign, and it was nice to see $50 per month in the Stripe account. At the time my goal was to reach $1,000 per month as a decent side income.
After that, I started trying a bunch of different ways to attract users:
In the early days I didn't track the sources of customers very accurately, so it's hard to say what worked and what didn't. What I do know is that now about 200 people a month search on Google specifically for AZLabels, so some of those mentions in various places must still be reaching people.
Even though marketing is definitely not one of my strengths, I think experimenting with several tactics is important because you never know when something will hit. I would love to find a really successful marketing strategy, but so far all I've found are minor successes in a lot of different places.
Our business model started pretty simply: pay $5 per month, print as many labels as you want. It made sense to keep it simple then because the product itself was simple. We started charging customers about three months after first starting to build the product.
Once we were making about $500/month, we switched to a tiered pricing system: 100 labels a month for free, $5/month for 1,000 labels a month, or $20/month for unlimited labels. This pricing was primarily motivated by our affiliate program; we wanted to have enough room in our pricing to pay our affiliates well and offer promotional discounts to our customers.
Just a few months ago we removed our unlimited plan and now charge customers based on the number of labels they use. We have several customers paying us $100/month now. This pricing increase was motivated by the wide disparity between our customers: some were printing hundreds of thousands of labels each month, and some were only printing a few thousand. But both customers were paying the same amount. We wanted to make sure we weren't leaving money on the table. We also made some major upgrades to AZLabels for faster print times and more integrations, so it seemed like the appropriate time to remove the unlimited plan for good.
The main challenge for AZLabels has been differentiation from competitors. A few other similar products have launched (some that try to be exact duplicates! which is flattering, I suppose), but I really don't want to get sucked into a price war. I'm focused on executing better than all the other products by making AZLabels easier to use, faster to print, more integrated with customer's workflows, friendly and fast customer service, and consistently bug free (which is a challenge since we have to respond to any change that Amazon makes on their platform within a couple of hours).
Another reason I wanted to increase our pricing was to make a deliberate statement that AZLabels isn't a low-cost, low-quality choice. We're so confident in our speed and workflow integration that we can afford to charge as much as we do. Time will tell if that was a good choice!
One thing that I know for sure is that higher pricing has led to lower churn somehow. After the new pricing went into effect we went from 4% monthly churn to 2.5% monthly churn, which really increased the LTV of our customers. The decrease in churn could also be the speed or feature improvements we released at the same time, of course.
In terms of our expenses I try to eliminate any day-to-day work for myself, so I've hired contractors for customer service, marketing tasks, bookkeeping, accounting, content creation, and sales tasks. That all runs up to about $1,000/month in contractor costs, but it's money well spent because it keeps me focused on improving the product and acquiring new customers.
I spend another $1,000/month on marketing expenses such as ads and affiliate payments, and then $500/month on software/hardware costs, such as DigitalOcean, Forge, Adobe, and so on.
I've learned that you should always be thinking about your next 10X. I'm always asking, what will it take to add another zero to the end of my revenue/profit numbers? That helps to focus my attention on attainable goals. And that means I'm looking for ways to make this business into a $1M/year business.
Something I've learned is that you need to find your leading metrics — what are the metrics that will predict an increase in revenue/customer happiness/whatever goal you have? For example, I know it takes 30-40 days on average for 30% of my customers to become a paying customer after they register. So the number of registrations predicts my future revenue growth. And my website traffic predicts the number of registrations. And the amount I spend on Google ads and content marketing predicts my website traffic. So if I focus my attention on the leading metric — something I have more control over — then I can achieve my goals. A great book on this is The 4 Disciplines of Execution by Franklin Covey.
So if a leading metric for revenue is marketing spend, theoretically I could get to $1M/year by spending $14,000/month on marketing. The challenge of bootstrapping is that cash flow from revenue doesn't support that kind of spending right now. But an entrepreneur friend of mine (s/o Nigel!) has a great saying: "If you have a problem, you can either solve it with money or with creativity."
So I'm searching for other creative ways to move AZLabels forward a little bit at a time: doing interviews on Indie Hackers, emailing more potential influencers, reaching out to people on LinkedIn, and lots of little things.
One of the biggest challenges of starting a business where you're layering onto someone else's platform (in this case Amazon's platform) is that you're vulnerable to any changes that they make. If Amazon tweaks their shipping process, I need to immediately update AZLabels with that change.
Recently Amazon rolled out a tweak to only a few customers, and the accounts I had access to were not included in the update. That meant I had a segment of customers that were unable to process their shipments and I was unable to fix the problem for them. I have a fairly robust error logging that gave me a sense of what was happening, but not enough information to fix it.
Until that point I've never offered live support as I try to stay in proactive vs. reactive mode; but after a few days of trying to fix the issue flying blind, I asked some customers if they would mind doing a screen share with me. After that it took me 10 minutes to sort out the issue and push a fix.
That was a good lesson for me. Even though the principle of staying focused and working proactively vs. reactively is a good one, rules are made to be broken and I wasted a lot of my time and my customers' time by being too rigid with my self-imposed rules.
If I had to start over I wouldn't change too much. I got a little too fancy at the beginning with some overly optimized and complex code that I should've made simpler since it makes testing and maintaining the code harder than it should be.
I also would try to be more patient with growth. In the early days it took a long time to go from zero to $1,000, but it seemed remarkably fast going from $1,000 to $5,000.
Starting from scratch is the hardest part. Everything is more fun when you know you're working on something people actually want and will pay for; but until you're at that point, it's easy to scramble around looking for a silver bullet. I would rather have spent more time laying a solid foundation and doing more content marketing for long-term growth rather than pursuing hot opportunities that fizzled out quickly.
I mentioned before how I contract out all the day-to-day work of the business which I think is key to staying focused on what is really important. I've worked with some amazing people, like a friend of mine who launched a marketing company a few months after AZLabels started. I hired him for 10 hours a month for a year and a half, and he managed a 10X growth of the business from $500/M to $5,000/M. (s/o Andrew @ Kasama!).
Nikki L., who is a real self-starter and LinkedIn wizard, is taking a load off by managing marketing and sales projects as well as our content marketing. Katrina M. has been incredible handling the bulk of our customer support work; she is so patient and kind and professional. I'm really thankful for them and wouldn't enjoy running this company without them.
There are a few books that I've read over the years that have really shaped my thinking:
Of course, it also helps that Amazon has more sellers than ever on their platform (over 2.5M active sellers now!) because it keeps my pool of customers growing consistently. As long as Amazon continues to grow, there will be tons of room for companies that make their businesses more efficient.
My first tip is that you have to be doing something — anything at all — if you want to find opportunities. My first company was all about helping people grow their Twitter accounts and then pivoted to a virtual assistant business. While I was doing that I saw there was a big price difference between products on local classifieds and Amazon, so I started selling a few products on Amazon to make some side money. That grew into a half-million dollar toys and games business and because of that, I found the product opportunity for AZLabels.
At this moment I have many more opportunities than I have time or resources to pursue, but that's only because I'm in a position where I can see them. As soon as something takes me longer than I would like or is annoying to deal with, I write it down as an opportunity. I love working all the little inefficiencies out of my life and if I can help other people do the same thing, that's a worthwhile use of my time.
Another tip is that whenever you feel like you've found a jackpot, you probably haven't. For example, I've developed relationships with some really successful influencers who featured me and I was sure I was going to get hundreds of new customers. Launch time came, and not a single one converted.
The key is to put in the hard work of lots of small successes that add up to one big success. Maybe one day I will hit one of those jackpot opportunities, but why wait for lightning to strike when there are so many ways to keep moving forward?
Something else to consider is to pick a tech/marketing/software stack and sticking with it for a while (see the Boring Technology website). I used to jump around from one CRM to another, one code framework to another, one bookkeeping software to another, and I never really got proficient in any of them. Now, I have a set of tools that I always use for every project. Laravel, Laravel Spark, HelpScout, Notion, Slack, VS Code. The more I use them the faster I am, and the new features from a new tool often don't outweigh the cost of switching, transferring data, and re-learning a new tool.
Thanks for making it all the way through! Feel free to check out AZLabels, or read our blog post on printing FBA labels. We're also on Twitter and Facebook.
I'll be hanging out here if you have any questions, comments, disagreements, whatever you want to talk about.
All the best with your projects!
I really admire how you experimented with different user acquisition channels – it’s a good reminder that sometimes minor wins in multiple places can add up over time. Your focus on continually improving the product rather than competing on price is also spot-on. Thanks for sharing all these details; it’s encouraging for anyone working to build their own niche solution!
Nice story!
I've launched my SaaS as well in an attempt to solve my own problem.
Keith's story is really inspiring! It's cool to see how he turned his own frustration with Amazon labels into a successful SaaS business. I love the idea of "leading metrics" - it's something I'll definitely try to apply in my own projects. But I can't help wondering: Keith, how do you plan to keep AZLabels relevant if Amazon suddenly changes their system? Seems like a constant challenge when your business is so tied to another platform.