Convincing a client to invest in your software is a fine art. It’s a balance of helping them adjust their way of work to fit the software and adjusting the software to fit their way of work.
It’s 10am on a Friday at the ACME Pathology Laboratory. Bill the FedEx driver just left, having dropped another dozen boxes on top of the mountain left by UPS.
These packages aren’t full of gadgets and treats from Amazon. They contain samples of skin, organs, or other material taken from different animals. Each having traveled from far away lands across the country, or even across the world.
Unknown to the lab, one of these samples was taken from a patient in critical condition. The sample must be analyzed quickly to save the patients life.
The lab technician in charge of receiving is finally able to hang up the phone. She spent the last hour answering client emails and phone calls about the status of yesterday’s cases. Already worn out, she spins around to see the pile of packages awaiting her.
She grabs the first box and pops it open. Inside is the usual plastic jar with a fresh chunk of tissue floating in liquid. The tissue is unknown, because clinic forgot to label the container once again.
“No big deal”, she thinks, as she searches for the paper order form in the box. She digs around only to find that there is no order form either.
She resorts to the only piece of information available, the return label. “Little Kitty Rescue Clinic” in Mud Lake, Idaho. Luckily she is able to dig up a correct phone number from the lab’s messy spreadsheet of clients.
5 hours, 10 emails and 15 phone calls later, the lab tech is finished receiving each sample sent to the lab. Each sample is placed in the proper areas to begin work with messy assortment of papers and sticky notes attached to each.
This is only the beginning.
Pathology is the study of causes and effects of diseases. A pathologist is a doctor who studies diseases by looking at samples of body tissues and fluids under a microscope. They help figure out what’s making a person (or animal) sick.
Pathologists can tell if a disease is present and help other doctors choose the best treatment. Besides diagnosing issues for patients, they may also study samples for research.
A pathology lab is where all the samples are sent to be processed and turned into slides to be examined. The process to turn a piece of skin into a slide, for example, has numerous steps that must be tracked carefully. In many cases, this must be done fast because the patient’s condition is quickly getting worse.
I have been developing software for around 15 years now, 10 years full time. My brother has been consulting small businesses for roughly the same time. We have partnered on various projects throughout the years.
In 2021, a need arose with one of my brother’s clients. I will refer to her as J (to protect the innocent). J is a veterinary pathologist who operates her own pathology lab.
The vet pathology software space is very small. Most software currently on the market is outdated and expensive. Additionally, most of it is built for human pathology with veterinary support being tacked on as an afterthought.
Frustrated with the state of the software market, J had a friend help them build software of their own. The system was built on the Zoho Creator platform.
Over the years, some partner labs grew curious about the software J used at her lab. She realized there was a market for this type of software. Sadly, Zoho’s licensing agreement was too restrictive and it didn’t allow licensing to other companies. Also, the software was built specifically for J’s lab and would need heavy customization if they resold it.
My brother reached out to me to partner with himself and J to rebuild their software. They were quickly outgrowing the Zoho platform. Over the years they also realized several mistakes in how their data was organized.
We set out to build a new software platform. One that was not controlled by another company such as Zoho. The new version would be custom programmed from the ground up. Our goals for the new version were the following:
The name for this new software platform is Z-Rex. The story behind the name is for another day.
I currently have a full time job as a software developer. Additionally, I am married with 3 children under the age of 10. This limits the amount of time I have for side projects significantly, something I am optimizing ruthlessly as of late.
I have been extremely diligent in tracking the time spent on this project. Here is a chart of the hours spent per month from the beginning:

Total hours spent as of March 1st, 2024 is 1,033 hours. This includes time in meetings, which probably accounts for about 100 of those hours.
Our first client was technically J’s lab. Although that was a given, since they are partnering with us. Our first real paying customer (who I will refer to as Lab1) was found through J’s network.
Lab1 is a pathology lab at a university here in the United States. They often contract with J’s lab for certain types of cases. Lab1 was ecstatic to hear we were working on a new solution they could finally use.
Despite how excited they were, the deal took nearly a full year to close. Since they are part of a public university we had to jump through many hoops of budget approvals, IT audits, and various background checks.
Our decisions in data modeling and customization paid off immediately as we worked to understand Lab1’s needs. Their workflow is quite different from J’s lab. Lab1 does not process their own samples.
When they receive a case, they send the samples to a separate lab on campus to handle processing. This actually simplifies how they use the software compared to J’s lab.
Another difference from J’s lab is they don’t send their own invoices. Billing data is still tracked, but the charges are downloaded and sent to an external university billing system to be invoiced regularly.
Early in development I added the ability to use custom fields throughout the software. This allows any lab to track specific data for their needs. In the case of Lab1, they use custom fields to track various identification numbers from their university billing system. This allows them to seamlessly sync data between the two systems.
Lab1 agreed to pay a one time setup fee of $36,000. This fee covered the following:
Additionally, Lab1 paid $12,500 for the first annual subscription of the software.
This brings our current revenue to date to $48,500 and our monthly recurring revenue to $1,033.
We are in the process of finalizing a few key features for J’s lab to finally divorce their old software. Once we complete those features and migrate their old data, J’s lab will begin paying us a similar amount per month.
This should put our monthly recurring revenue around $2,000.
This process has NOT been easy. B2B (business to business) software can be excruciating. Sales cycles are long and despite being in the same industry, every customer has different needs.
Customer’s often demand certain features be built before they will even consider paying. Many times, a customer might think a feature is super critical, but in reality they don’t use it. Or the feature existed in their old system so they think they need it.
Convincing a client to invest in your software is a fine art. It’s a balance of helping them adjust their way of work to fit the software and adjusting the software to fit their way of work.
No doubt I have learned many more lessons throughout my 1,000 hours of work, but could I have spent my time better on something else?
At the beginning of this project my hourly rate for contract work was $100 (it is now $200). If I spent that time freelancing, I could have made $100,000 in cash by now.
I’ll be honest, there are many days where I think this business will not go anywhere. I keep wondering if we will be stuck with these 2 clients indefinitely, in zombie mode.
The fact that one lab outside of our partner was willing to give us $48,500 shows a lot of promise in this space. But is it a fluke? Is it just because of our relationship with J’s lab?
We aren’t out of the woods yet.
Stay tuned for more.