When a Delinquent Client Forces
You to Innovate Your Product

Brian Di Croce
4 min readSep 26, 2022

Even in the world of SaaS does the proverbial phrase “When life gives you lemons, make lemonade” has its place.

Photo by AbsolutVision on Unsplash

There’s a quote in the book Grit that influenced me in writing this post:

Use mistakes and problems as opportunities to get better — not reasons to quit.

At the time of this writing, Cloudgenda is in an exclusive private testing phase which simply means that it’s being used in production by a handful of clients to get a better assessment of how it’s being used.

However, just because it’s in that phase it does not mean that the product is free to use. The clients in that phase pay a reduced price of the monthly subscription fees, and they get to enjoy the many benefits of the platform for their businesses.

It’s what I would call a win-win situation.

That being said, I currently have one client that is a past due on his latest invoice. Being a solo developer, I don’t want to take too much time to play a role in the collections department, mostly because I don’t have a collections department, and frankly I don’t want to have one.

Despite contacting the client in person and by email to let him know that his invoice is due, and reaching out to see if he needs some help or extra time to pay the invoice, I remain calm and optimistic because I don’t really know what his problem might be.

My rule #1 when dealing with this kind of situation is to remain calm, patient, yet assertive. Try to avoid assuming why a client is doing this or not doing that. Even if you ask him if there’s a problem, chances are that he might not tell you everything.

So, what can you do in such a situation? Well, we’re innovators, hence we’re going to innovate. 🧑‍💻

In my case, I took this “unfortunate opportunity” to add something on the platform that I wouldn’t have thought of otherwise, and I’m grateful for it.

The screenshot above shows what I did.

And it’s quite simple.

You see that red rectangle with a message in it?

Well, in short, I added a live announcement element on the master page. This live announcement feature allows me to communicate important messages with either a specific organization, specific administrators, or all organizations and administrators currently using Cloudgenda.

For example, if there’s a maintenance period scheduled some time in the future, I can quickly create an announcement, and the administrators will be able to see it live without needing to sign out/sign in of their account. The announcement has these three severity types: informational, warning, and danger. When the severity is informational, the background of the announcement element is a light green. The color changes to a light orange when the severity type is a warning. And as you probably might have guessed from the screenshot, the color is light red when the severity type is danger.

This feature took at most a handful of hours to design and implement. It also gave me the opportunity to deploy Cloudgenda’s first API in order to create the announcements without manually connecting to the production database to do that, because my rule #2 is to avoid manually connecting to the production database to do something with the data. I prefer to use a secured API with audit trails instead. That might be a post that I’ll write about in the future.

This feature also helps the connected users to take responsibility for their actions so that they can be good citizens when using Cloudgenda. In this case, for example, if the user doesn’t pay for their late invoice by a certain date, their account will simply be deactivated.

In short, I wanted to share this piece with you to let you know that when a user of your project doesn’t play by the rules that you defined in your business, try not to overreact too quickly. Give your users the benefit of the doubt. But don’t be passive either because this is your business and an important part of your life. Instead, think how you can use this unfortunate situation to innovate your product in such a way that you can convert that “benefit of the doubt” into some concrete action by your user. Provide them with as much information and help as possible to instill in them a desire to act swiftly in making things right. In my case it was simple: provide them with a grace period to act swiftly, but with a consequence of what might happen if they don’t. And that consequence isn’t drastic like throwing out tenants who are late with their rent. I’m just deactivating their account. And if they don’t complain about that, then I know that they’re not using my platform to their advantage, which now leaves the door open to invite someone else to use it exclusively during the private testing period.

--

--

Brian Di Croce

I’m a software engineer based in Montreal, Canada, and the founder of Cloudgenda. I tweet at https://twitter.com/bdicroce. 🍁