August 25, 2019

First Customer Cancellation

Jimmy Lipham @jimmylipham

Achievement unlocked! This week we had the first customer come up and say "You know what? This is a great product, but it isn't quite right for me."

Even bigger shocker? It was our first customer on the early access list.

From the get-go, the customer had sort of an atypical use case for Repobox. They distributed more fully fledged software compared to traditional libraries that get shoved in a subfolder somewhere. However, we ended up sending the early access customer some steps to get their package published and API docs on how the licensing worked. In fact, we even developed the API in record time so that it would work with a custom Stripe flow and backend that they were using.

Over the next week while waiting for the customer to get a chance to mess around with the system, I say to myself "Yeah, you know, we can make things a bit better for this customer by writing a simple CLI tool that their customer has to use. They're already running several commands, so we can bake the licensing right in and make sure that they're getting the latest updates all in the same step."

That night, I stay up until 2AM finishing off this CLI tool, completely white labeled to the customer. Five hours later, the dreaded email comes.

You knew it would happen sooner or later... you just thought "maybe a little bit further down the road..."

The customer breakup email.

Well, shit.

Is it the customer's fault? Absolutely not! A lesson learned is that customers are at different cadences and points in their journey compared to where you are. It doesn't make sense for every customer to drop what they're doing and pursue an integration with an indie product. This is especially the case when your product is potentially injected into their customer experience. In fact, that customer has every right and obligation to be critical. They should be. This customer builds amazing things, things that help people, things that build freedoms, things that inspire. There is an opportunity in every customer, and every cancellation.


  • Don't spend time building based on assumptions. Talk and talk more often. Then build
  • I've done ten times as much customer development work on Repobox as I have other projects, but it's still not a silver bullet.
  • When customers leave, do every single thing you can to learn from that experience. Ask questions, aim to understand where that customer is at.
  • Carry the heck on.

Happy hacking, my fellow freedom fighters! 💪

  1. 6

    Hey, thanks for this.

    I remember a while back when I had talks with this one early user on my project site.
    I got sucked into the wormhole of trying to please a single user, building a few small features to bring the site in line with what he would've liked.

    Funny thing, the unskilled workers never complained about anything and they used the site the way I meant it to be used, but this one guy, a highly educated engineer with his own business failed to understand how things worked. It later became apparent that he had trouble reading.... sigh
    But the stress he caused me was enough to give up on the product

    The lesson I took away from this is simple:
    Never build anything for one user, if enough people ask for it, then go for it.

    1. 1

      A thousand upvotes for this, my friend.

      We get hooked on that first sale and it can really end up sinking you if you think that every customer (especially in the early days) knows what's best for the product. It's funny to think about because that's at the point that you likely don't know which customers in particular you want or need to target.

      I'm happy to say that that didn't happen in this case, this customer was extremely pleasant and I think it just ended up being a wrong fit for where the product was and where they were.

  2. 3

    This is especially the case when your product is potentially injected into their customer experience.

    I really love this post, @jimmylipham

    It's hard and messy to know when you've discovered a common but undiscovered use case vs one that just doesn't fit. Thank you for sharing what is a valuable learning experience and normalizing what will happen to most of us.

  3. 2

    Great idea for a project - it’s got me thinking about what I could provide through your system. Shame you’ve lost the customer

  4. 2

    Thank you for the post. I don't know anything about your business. I'm currently working on creating a productized service, and the first thing I thought about when I read your post is that the customer wasn't the kind of client your business is looking for... but that's depending on the scope of the product you are offering. If you ARE running a productized service, the obvious thing would be to decline serving that client because what they wanted was outside the scope of what you offer. Case in point, spending time to modify the license for the CLI tool was the clue that told me they weren't the best fit. Regardless, that is a great learning experience. I will think of this post in the future when I'm finally in your position!

  5. 2

    This is a great write up. It's hard when customers leave you, and it's really hard not to take it personally. When you are a small time founder, it's like our whole lives get tied up in our products. When someone leaves you, it feels like a personal attack on yourself rather than the business. This is why I like your post, it shows that we can learn from a cancelation, and not beat ourselves up over it.

  6. 2

    Thank you for sharing, It's very important to talk to customers alot. I'm currently reading The Mom's Test; it offers helpful tips on how to talk to customers better.

    1. 1

      Could not agree more! I picked up a copy a couple weeks ago and @robfitz book is a real eye opener. Anyone looking to build their own thing should definitely consider getting a copy.

  7. 1

    so much truth here. the journey (and timing!) is the key.

    "customers are at different cadences and points in their journey compared to where you are."

    I've seen this a couple of times when forecasting market adoption of new products. Its VERY important to understand the customer adoption journey and the relative rate of adoption.

    thanks for sharing this part of your journey and lessons learned.

  8. 1

    These are great tips. I love the optimistic approach you have for a customer leaving your platform.

    1. 1

      Thanks Cameron! If we weren't optimistic, we'd all be crying 😎

  9. 1

    Great lesson, thanks for sharing :)

    I'm definitely feeling the temptation to do anything a potential customer might want or need with the product I just launched myself. It's an interesting balance, because as a smaller player you have more flexibility to really wow each person that comes into contact with you and your product. At the same time, we've gotta keep the bigger picture in mind.

    Really neat product idea you have there, Jimmy. I look forward to watching your journey! :)