Purchasing the project management SaaS MyClientSpot
A few months ago I made the decision to purchase an already operating Software as a Service (SaaS) business. MyClientSpot offers project, client, contractor, and time management software as a service.
This was a pretty big decision for me. Like a lot of developers, I’ve always been of the opinion “Why purchase something that I can easily build?” I’ve had limited success building products from the ground up before and decided to try something different this time by starting with an existing product that had a solid base of loyal customers. My hope is that the customers will be able to inform product development and speed the discovery processes.
I blame Patrick McKenzie for documenting how he’s sold multiple SaaS businesses for putting the idea in my head. You can read his excellent account from the seller side here. I plan on documenting the other side of the sales transaction and where I take it from here.
As a full-stack senior web developer/consultant, I’ve worked on legacy SaaS products many times in the past. I usually parachute in, do some poking around to understand the system then either fix a bad bug or implement a feature that they lack lack the skills and/or time to complete internally.
Something I’ve learned is that there are thousands (millions?) of small applications out there, limping along on shared hosting and making a few thousand dollars a month. Most haven’t been updated in years and the owner is usually a non-tech person who enjoys the stable revenue but doesn’t have the ability to take the product to the next level.
Why not find one of those businesses that still have a solid customer base, update it’s tech a bit, and grow the user count? Nothing I haven’t done before but this time I’d be the beneficiary of the growth. Of course I’d be forgoing the fat consulting check that usually goes along with the job, but hopefully it’ll pay off as the company grows.
I subscribed to the buyers listing at FE International and after a few months found a likely listing. After signing a non-disclosure agreement they sent me a slim prospectus on “MyClientSpot”. The company seemed like a cross between project and outsourcing management, with a few weird database type features thrown into the mixture.
The website had that distinct mid-2000’s look and was still using tables for it’s page layouts. If I was approaching this a consultant, I would have been immediately drafting a “This is a problem and here’s how I can help” proposal with a quote attached, because there was no way it could be signing up many trials let alone converting them to paid accounts.
After discussing it with my team, we were all in agreement that there was potential for this software and made an offer a bit below the listing price. After a little haggling back and forth, we finally came to an agreement to start the purchase process. In order for our proposal to be more attractive we offered to close very quickly in a matter of weeks.
We then had a few weeks to perform due diligence on the website but were limited here by the lack of technical knowledge by the sellers. They’d never had to really dig into the operations and had outsourced the support.
Major red flags we found were:
- There weren’t any analytics running on the website, so no real way to guess at how much traffic the site was getting because the seller also lacked access to the log files.
- There was very little ability to allow us to view the source code. We finally managed to view that via FTP from the (very outdated) cPanel and viewed enough to determine that it was running php with a early version of the codeigniter framework. Codeigniter was a big plus; that indicated that the code probably had some structure and wasn’t your typical mid-2000’s Php ugly mess.
- Email for the site was self hosted on the server and completely overwhelmed with spam.
- The non-application web pages were hosted on an outdated and insecure wordpress.
The above didn’t deter me because it was all items that I would be working on changing as soon as we took possession. Some of the issues were potentially very serious, and there wasn’t much time to waste with updates. It wouldn’t take much for the site to suffer significant downtime which would cause the existing customers to evaporate, leaving the site worthless and our money down the drain.
The good news was the prospectus showed it had a cadre of very stable core customers which had not changed substantially in the past year, and several that had been customers for a few years. To us that said the existing customers must be very satisfied, the challenge would be to attract new ones.
We gave the go-head to FE that we’d like to close the deal and this is where Patrick’s recommendation to “always use a broker” was proven completely correct. FE made sure that all the documents were in order and had a step-by-step procedure that listed exactly what would be transferred and the steps to do so. This made the transfer of sale and monies go very smoothly. And we had them to go to for advice when there were things we did not quite understand.
Despite that we still managed to encounter a few small hiccups.
- Credit card processing was with Authorize.net and they required a new merchant account be setup. Some of the customers were also using American Express for billing and that required an entirely different merchant account to be established. This took a credit check, validation, and almost 30 days to accomplish which was much longer than we expected. The seller went above and beyond though and left his merchant account in place and transferred the funds back to us.
- We were slow on sending a welcome email out to the customers. A few noticed that the billing name on their credit cards statement had changed and didn’t know what was going on. In our defense the invoicing, credit card processing and system customer list did not match. It took a substantial amount of investigation to even figure out who all of our currently active customers were.
- Rackspace is a strange company. They refuse to transfer service without sending multiple signed and scanned forms. We finally just gave up on transferring and took over the original account. We later learned that they ALSO don’t allow renaming accounts without sending more PDFs around. Come on guys, it’s just a $10/month account that stores a few files.
After closing, I immediately went around changing all the passwords, setup hourly backups, put analytics on the website so we could discover how it was actually being used, and downloaded a copy of the website source code for in-depth evaluation.
We sent out an email to all the current users introducing ourselves and requesting feedback on what they’d like to see improved. We got several fantastic responses that we are currently prioritizing into a proper product road-map. And most importantly, we started using the service for ourselves, not only does this help us to understand the processes, keep our tasks inline, but also gives us a good idea of future improvements also.
Lessons learned from the process:
- Make sure you completely understand how the billing process works. Even though we were focused on the financials we didn’t pay attention to the actual invoicing process to understand what was needed for a smoother transfer of receivables.
- Use a broker if at all possible! I shudder to think of what would have went wrong if we’d tried to do this as a private sale without FE’s processes in place, as well as their guidance.
- Get a good contact list of current active customers for efficient and transparent communication with them. Since your customer base is you bread and butter, keep them in the loop so they stick with you!
Would we do it again? Absolutely! We’ve been running MyClientSpot for several months now and just completed an update to modernized the user-interface.
I’ll do a further write-up of the updates that’ve been completed next month and how things are progressing. Want to read about Mysql to Postgresql? Introducing tests to a code base that utterly lacks them? Augmenting Php with graphql? Then tune in next time to hear more about these transactions.