Hello Fellow IndieHackers!

A week ago I left a comment that got quite a bit of attention. I promised if people were interested I would post more details. So, today I'm going to share how I turned a non paying client into a $1000/month recurring revenue stream.

I think the story is interesting because it shows:

  • You don't need an audience to be successful, although I'm sure it helps (I've never even had a FB or Twitter account)
  • You can have a successful product without relying on ProductHunt (don't have an account there either)
  • You can have a successful side project with a simple idea and minimal traffic
  • There are opportunities in unlikely places if you keep your eyes open
  • Things will work out if you keep at it.

Quick Site Intro

Before I get into the nuts and bolts let me introduce the website and give you a few stats.

  • Business model: Sell carpet cleaning quote leads to local suppliers
  • Architecture: Wordpress with custom theme
  • Age: Built in 2013, still the original design
  • Revenue: Average = $1000/month
  • Traffic: Average = 300UV/month (LOL - seriously!)
I make over $3 per visitor. BOOYAH!

It kind of blows my mind looking over the data. I've made tens of thousands of dollars in revenue from a basic Wordpress site that rarely receives more than 300 visitors per month. I'm got damn lucky!

The Backstory

Like everyone here I consider myself a maker, it's where my passion lies. I enjoy taking an idea and putting it out into the world. But you gotta pay the bills right? That's difficult when you're just starting out.

What to do?

I ended up working on client projects. I'd build Wordpress sites for local businesses, handle the SEO and Adwords, that type of thing. This ended up becoming a successful agency in it's own right but that's a story for another day :)

The Non-Paying Client

One day a new carpet cleaning business asked me to build a website. It was a fairly boring project but beggars can't be choosers! I quoted, he agreed and I got to work.

I grabbed him a good domain name, built the site and threw in some basic on page SEO to get things ranking. He was happy and things were great.

That's when the trouble started... The guy never paid, stopped answering my calls and ignored my emails. 

This went on for months!

In the end I was out $3000! Life sucks... unless you accidentally figure out how to make lemons from lemonade.

The Eureka Moment

I accepted things and cut my losses. At least I still owned a perfectly good carpet cleaning website. Maybe I could sell it?!?! Unfortunately the site was only receiving 100UV/month. I'd have no chance of selling it for $3000 with such low metrics.

Then, I decided to try something...

The site had a fake phone number and email listed (he never paid so I never updated it). On a whim I changed the phone number to my personal one and updated all the contact forms to my personal email... just to see what would happen.

That day I got an email through the website! The next day, a phone call. So...

I Started Hustlin'

At this point I did what any self respecting Indie Hacker would do!

Source: https://spin.atomicobject.com/2017/11/01/dont-fake-it-til-you-make-it/

For me that meant impersonating a carpet cleaner ;)

I got the details about the jobs from the leads. My plan was I could pass the details onto a 'real' cleaner and maybe sell them the site afterwards if the leads enticed them. But first I would have to find a carpet cleaner to accept the leads.

I went to Google and made a list of all the companies that were on Adwords. I figured, if they were willing to spend money on ads they'd probably be keen for leads.

For a local business the best way to reach them is on the phone. I hate cold calling, it makes me very uncomfortable but I mustered up the courage (feeling anxious the whole time).

The first few hung up on me straight away. That battered the ego a bit but I reluctantly persevered. After a dozen calls or so I found someone interested. I passed on the details and followed up the next day. One of the leads converted and they had already booked the job. Validation!

The Procrastinating Pitch

I knew I wanted to pitch the site to the cleaner for $3000 but I was nervous. I'm not a natural salesman, it makes me just as anxious as cold calling!

So, I did what any self-loathing Indie Hacker would do...


A week went by and I still hadn't made the pitch. Turns out that was the best thing that could have happened (who said procrastination is a bad thing ;) )

In that week the site generated more leads and a light bulb went off in my mind. Why sell the site for a one off lump sum, when I could sell the leads individually and make money each month?

I struck while the idea still excited me. I called the company and told them I was generating more leads and that I'd be happy to sell them for $18 a pop for phone and $15 for email (not sure why I chose those numbers, they just sounded good)

They agreed and we were in business!

Ramping Things Up

Phone calls generated in June 2018

In the first month I generated around 20 leads through the website. Lets say $350 for the month.

Over the next 3-4 months I implemented some SEO strategies:

  1. Listed the site on Google Business
  2. Listed the 'company' on as many local business directories I could find
  3. Link building strategies (none of which I'd recommend today because... Google)

Over the next few months I was able to build the traffic up to around 300UV/month, generating around $1000/month. It has not dipped below that since.

At times I have generated a lot more (the most was $4000/month when I was ranking for every term) but things have gotten more difficult to dominate in the local space.

To this day the site still generates $1000/month and I don't have to do much at all.

Automation Made Things [Almost] Passive

In the beginning the process was totally manual. Whenever a lead came through, I'd vet it and forward it onto the company. I kept a spreadsheet and invoiced them at the end of every month.

Now, I'm in no way passionate about carpet cleaning and, like you, love automation.

I wrote some simple code to save the email leads in a database, and forward it onto the lead buyer. I also signed up to a phone number service that allowed call forwarding and had an API. 

Once a month my system tallies up the total leads and pings me the data. I create an invoice (still manual, but it only takes 30 seconds) and send it off to the buyer.

Wallah! Money in the bank!


Although I did the work, I really feel I got lucky here. There are a whole host of reasons this worked out well and a tonne of lessons:

Quote Based Sites = High Conversion

In an industry like carpet cleaning, a typical customer might go through every site on the 1st page of Google and get quotes from all of them. This makes it perfect to sell leads for. You don't have to be top ranked and conversions are super high. In my case, the conversion rate is around 20%. You'd never get that selling a product or software.

Low Friction Sale

Local services in general are low friction. People will get quotes but its easy to sell them on the phone quickly. That was important for the buyer because they saw value straight away. Things like carpets, locksmiths or pest control work well with this type of thing.

SaaS Isn't The Only Way To Generate Recurring Revenue

I'd still love to own a SaaS business one day but it wouldn't be for the money, but rather the fun of building. There are plenty of other ways to generate recurring revenue that are much easier.

Clients Can Really Suck

Always get 50% payment up front for client work. At least you'll have something if they skip out on the bill :)


If you have any questions at all I'd be happy to answer them. Fire away!

More from Indie Hackers: