Monthly Archives: November 2020

A simple integration (example)

A simple integration (example)

As I mentioned last week, I’m starting a new business – Simple Integrations – to help companies stop retyping data from one system into another.

Today I’ll show a simple example. This was a request from a Moraware customer and friend that ultimately led me to start my business.

A little context: Moraware’s customers are countertop fabricators – the companies that cut beautiful stone and attach them to the top of your kitchen counters.

Below is a job in Moraware (Systemize to be more precise, but the same concepts apply to JobTracker and CounterGo). Moraware provides a place for the Job Address – where the countertops will be installed (in this fictional case, my parents’ old home on Willis) – as well as the Account Address – the location of the customer who pays the invoice (in this case, a specific Home Depot on Alpine).

My integration calls the Moraware API to get the Account Address and the Job Address for the job and then calls the the Google Maps API to calculate the distance between those addresses. Then it stores the results in a job custom field (miles from account):

I use Moraware and Google Maps APIs to calculate and save the distance between the Account and Job

Simple, right? Indeed. While there are a surprising number of technical details in the solution, the goal itself is simple.

So why is this simple integration between Moraware and Google Maps valuable? That’s where things really get interesting …

Lots of Moraware customers do at least some work for “big box” stores (Home Depot, Lowe’s, Ikea, etc.). In order for a big box store to provide countertops to their customers, the store needs somebody to make and install them. In their terms with these fabricators, big box stores typically include a provision that if the customer is more than 20 or 30 miles from the store, the fabricator can charge for that mileage.

Now imagine you’re a countertop fabricator doing 50-100 jobs/week for various big box stores. Depending on your geography, you can charge mileage for maybe 5 of those jobs each week. But in order to find which ones you can charge for, you have to do the calculation for every job. After you enter the job in Moraware, you have to open Google Maps, copy and paste the Account Address (for the store), then copy and paste the Job Address (for the homeowner) and see if the distance is over the threshold (I’m simplifying slightly, but this is the gist).

Maybe 5-10% of the time, you can charge the big box store an extra $100-300 on the job for the mileage. That adds up quickly! But you’re busy, of course … it’s a hassle to take 2-3 minutes on every job to find the distance, especially when only a few of them matter. Think about it – for 100 jobs, it literally takes a couple of hours each week to calculate this distance manually.

Until now. Thanks to my simple integration, nobody has to retype the addresses into Google Maps. In fact, they don’t have to go to Google Maps at all. Instead, I’m doing work behind the scenes to get the distance for each and every big box job.

This eliminates a couple of hours of work each week and has allowed my first customer to recapture hundreds of dollars each month from a big box store that already agreed to pay them for the mileage. He’s paying me a slice of that money each month. That’s an easy win in my book – for both of us.

Hiring my replacement

For the last month or so, I’ve been helping Moraware hire my replacement – an interesting experience!

Why are we doing this? Well, I’m starting my own company: Simple Integrations. I’ll share marketing stuff soon, but the goal is to help businesses like countertop fabricators eliminate duplicate entry. Anytime someone reads information from one system and retypes it into another – that’s my cue to improve things.

This business was created from demand – customers were asking me to solve a specific type of problem for them. There appears to be enough demand to turn it into a business. I have a plan to do just that, and I’m going for it.

Here’s what’s different about my new software business:

  • Instead of charging an hourly rate or a large upfront amount, I’m charging a monthly recurring fee for (largely) custom solutions. I call this approach “Custom SaaS” – customers like it because there’s very low initial investment and almost no risk for them. I like it because I get the beauty of growing Monthly Recurring Revenue (MRR) and its correspondingly high customer Lifetime Value (LTV).
  • This pricing approach (charging a recurring monthly fee based on the value of the problem) means I’m shifting the risk of custom software development from customers to me. I can absorb that risk by limiting myself to integration problems. As long as I focus on integrating systems that I know (or want to know) extremely well (like Moraware!), it’s risk that I can manage. It also means that I should avoid doing much user interface work (because getting UI right is inherently more expensive than back-end magic). The simplest, non-technical way to describe the type of problem I solve is that I eliminate double entry.
  • There’s strong evidence to suggest that certain integrations will grow into products that I can resell multiple times.

Countertop fabricators are perfect customers for me, because they’re successful, but they typically lack IT departments. I can help successful companies in any industry, but my services are probably less needed for companies that have their own IT departments.

I already have a couple of customers paying me monthly for small solutions. The next step is to free up more time to pursue more customers and solve more problems. That’s why we’re hiring my full-time replacement.

I’m very proud that my relationship with Moraware is strong enough to evolve in this way. I simply approached them about moving from full-time to approximately half-time in order to pursue this new adventure and still feed my family while my business grows. That’s the plan anyway 😉

Obviously, I’ll explain much more over time, but this ball is starting to roll downhill – wish me luck!