I quit freelancing—How I created a profitable software product to escape "clients from hell" and their boring, crappy projects

Summary: Many freelancers are having trouble with clients. I was one of them. I got so fed up with the fact that I went on to fire all my clients, brute forced trough my insecurities and created a digital product which replaced my freelancing entirely. Moreover—it became a source of more freelance work that I can easily tap into, in case I want to go back.

This is my story:

How I succeeded in the world of OpenCart extension/theme developers without prior experience

For the first year out of the university I had been freelancing full-time as a web designer—mocking up sites in Photoshop and later building them in HTML. Sometimes even going further down the road to WolfCMS, but nothing more complicated than that.

I wanted to earn $1000 per month. Most of the time I was short of reaching that goal. I decided I should put more work in.

After working gruesome 16 hour days and feeling the burnout and disappointment, the thought of "This is not the way to go…" started creeping in.

My income was tied to the direct effort of ME putting in time to work on SOMEONE ELSE'S project

Being a freelancer I had a degree of freedom—to chose whom to work for, when and where. Sadly, the answer to "How much hours should I work?" was not under my control.

I wasn't happy. I wasn't satisfied.

Actually… I was tired of this.

I wanted to be free and use my time the way I imagined.

I wanted to have the freedom to work on exciting projects, without worrying I may not be able to pay the bills this month.

A single purchase opened my eyes to the potential of products

One day I wanted to present a Photoshop mockup of a website inside a browser window. Either I had to use a screenshot of my themed, chock-full with bookmarks and extensions browser window, or I had to create it from scratch. Or maybe I could search for the image online and later patch it up to look like needed? Either way this was going to cost me time.

I was being paid by the project so the less it took me to complete it, the more I would earn per hour. Aware of the value of my hours I knew going with any of the above options would cost me a lot.

I wanted the presentation to happen inside a browser window(because it was cool, you know) and I was determined to achieve it.

So, after a minute or two of googling I found a browser template pack, featuring the 3 most popular browsers (at the time) and a script that created the browser window of your choice around your image. It was priced at $1.99.

Note: I was really stingy back then.

Doing the simple math "I value my hour at $15, this browser thing would take me around 40 minutes, so that would be $10 down the drain", I decided to buy it.

The moment I bought the browser template pack I had immediately saved $8.

Digital products save you time and money

This purchase opened my eyes to the world of digital products. If I—the stingiest person I knew at the time, was willing to pay for something like this, there were probably more people out there who are willing to do so. Do you know anybody who refuses to save time or money?

Seeing how easy my purchase went, I realised I could do better than the 10–16 hour work days, low rates and rude clients. I didn't have to put up with that! I could be making my own digital products. I could be making money without moving a finger.

It was time for a change.

Dreaming of one day publishing a product of my own, I started exploring the ThemeForest marketplace for themes. At that time this was just a dream. I didn't know exactly how it was going to happen or how I'd find the time for it. I was fully booked with mediocre web design work. It paid the bills but was also crushing my dreams of ever doing something I really liked.

I began a quest of regaining my time

I had some money saved up so I started firing my clients. Slowly, in the process of 3 months, I freed my time.

"I can start creating my product now! Hooray!"
As a newbie in the self-directed product world, I was thinking that the problem I had was the lack of time. But when I got the time… I ended up wasting it.

I was procrastinating doing the very thing I was so passionate about—moving away from client work and creating my own product. Yes, I had "fired" my clients, but the thought of going back to freelancing was ever present in the back of my mind.

I had no idea how to begin. No idea where I should start. No ideas what I was going to create. The uncertainty was killing me. I refused to think about it. I was blinded by my irrational fears.

The comforting feeling that I could always go back to my freelancing career was holding me back. I hadn't let go of it. This was making me feel safe and the safety net was holding me back. It made me feel stuck and increased the sense of anxiety and depression.

I had to change. Badly. Yet, I was doing nothing. I wasn't "motivated" to do it by no means.

Burning ships and bridges

There is this legend of a glorious military leader who burned the ships his army came with. "Why did he do that?", you would ask. It was to show them that the only way out is to go forward.

"There is no turning back. There is no way to get back home alive if you don't win this battle".

To make the need for change real I did something that even I did not expect I could do. It was such an intuitive and impulsive act…

I went trough all my profiles on odesk, freelancer.com, elance, 99designs and more, and I figuratively burned the bridges to the freelancing world:

  1. I changed my associated email address with a throwaway email account set to expire in 10 minutes
  2. Then I changed my passwords to random generated ones that I wouldn't be able to recover(and I didn't write them down on purpose!)

…all of this for the sole purpose of demonstrating to myself that there is no way to turn back. I had to be brutal. Brutally honest with myself.

I even blocked the email addresses of the clients I had communicated with trough Gmail.

The moment I did that it was scary. Really scary. And liberating at the same time. I knew I was about to do something exciting. I HAD to transform my fear of the unknown into something better or I would stay paralysed indefinitely. Now I had it.

Then I faced the next block: I had no clue what should I be creating.

Not even a single idea that seemed worth pursuing.

I knew it had to be done fast, because I was burning my savings and I had less than 5 months left to live on my own.
Project Requirement #1 Fast to build

What did I do best at the time? I didn't want to admit it, but the thing that was bringing in the money was html+css. After all I was a design school graduate. How would I allow a skill that I got no degree in to become my full-time occupation? "This is madness".

But rationally thinking, this was my only sane choice.
"I should create something with HTML+CSS that can be sold! Hm, a web site theme maybe?"

I started analysing the Themeforest marketplace using the following criteria:

  1. What sells well there?
  2. At what price and volume?
  3. How hard could it be to create something similar?

I was looking for options. I was looking for ideas. I was looking for a path to follow.

I had to get even more specific

The most well-paid themes, that I also thought to be not so hard to create, were for WordPress. It was going to be a WordPress theme.

But what kind of a WordPress theme?

Well, my parents have a cookie store so I decided that I should do a theme that can help them sell cookies online. "Why not create a WordPress shopping cart theme for Woo-commerce?" This thinking sounded plausible. So I named my "thing" appropriately—"CookieShop".

A pivoting point

On one of my visits to the ThemeForest marketplace I saw a banner: "OpenCart section is booming! Submit your OpenCart themes"

Hm, what is Opencart?

An opensource e-commerce system.

A few hours later my question was: "Ok, OpenCart seems quite neat. How can I create a theme for it?" After a little bit of research I was convinced to shift from a wordpress-wannabe theme to a Opencart theme. It is better to use a dedicated shopping cart, rather than an ecommerce plugin for a blogging system, right?

So CookieShop became CookieCart.
Requirement #2: create an OpenCart theme

In one of our industrial design classes at the university they taught us how to "analyse" a market and come up with things to sell there. In a nutshell: plan a combination of all the good features of available products and create a new improved solution.

Supposedly this is what the market wants. It was at least(on paper) supposed to be better than the competition. But nobody told us how to do research in order to be able to actually sell.

We were taught how to create. "Spend as least time as possible on research and move on to the most important part—creation!"

I followed this process and analysed the existing Opencart themes. At the time, the web design community was raving about responsive web design and taking care of the mobile user. I noticed that most of the themes were dismissing that.

RQ#3 Have a mobile version of the site

I got my first real feature requirement! I was happy, the project started to materialise.

To make this usable for my family business I knew I had to make it have something to do with cookies/candy/cakes. So I can say I also had visual direction.

I was set! But before that, I wanted to make sure my product would be "the best!!!", as this is what they taught us in the university. So, I added the following requirements, as well:

RQ#4 Desktop theme
RQ#5 Tablet theme
RQ#6 Customization admin panel
RQ#7 Fast checkout(I heard this is what people wanted)

Ok, the list started getting big. And I didn't even know how to properly create an OpenCart theme.

Digging into OpenCart

I did diagrams of the way things worked, diagrams of the checkout process, the way themes are loaded and so on. This helped me understand what I should do.

But the project was moving slow. I decided that I should push myself by adding a limitation—"finish it by the end of this week".

At the end of the week I was exhausted by the 12–16 hour days I was forcing myself through. I hoped that I would be ready to release it to the public but… I was nowhere near.

So, at the end of that (now second) week I was depressed and disappointed. The mobile theme was no more than 10% ready and I had 2 more themes to design and implement. I wasn't even sure how they were going to work. I didn't know a thing about e-commerce checkout, all of the different steps involved… as you can see it got messy, hairy and immensely overwhelming.

But I had burnt my bridges. I couldn't go back. I didn't want to.

To balance out my exhaustion, I decided to work only 4 hours a day in the morning. This way, I'd also capture my most productive time. Then I'd take care of myself during the rest of the day. I had the time to educate myself, read books and think. I could look at the project from a distance.

One day, while reading 37signals's book "Rework", I stumbled on the following advice: "When pressured by deadlines reduce scope, do not increase time". What it meant was that, to meet a deadline, you just reduce scope as the deadline approaches instead of constantly moving the deadline into the future. Because tomorrow never comes. Remember Duke Nukem 3D? That game was pushed around for 10 years before they finally got to release it.

So, putting the advice to practice, I reduced my scope. For the first release I expected to have only the mobile theme ready.

"OMG, but why? No one would buy this!!!"
My mind was screaming.

Because I needed a quick win. A "save game" state from which I could move forward. Having a non-selling crappy product is much better to not having a product at all, isn't it?

Yes, I was afraid, but I had to trust the experienced guys and go with their advice. I was not swimming in familiar waters[tk]. I didn't actually know what I was doing.

Once I had the desktop and tablet themes out of my mind, the goal seemed much more achievable.

Also my decision to work 4 hours in the morning, before anything else, proved a good one. I was fresh the moment when I needed it the most—when I had to make decisions and tackle hairy problems within the project. Tiredness was not able to get to me and interfere with my mind. I was not afraid of uncertainty, because I knew it couldn't be indefinite. "Endure it only for the next 4 hours". When the 4 hours were over I got away from the computer and did something else.

This was an extremely liberating habit.

Two weeks in—a mobile frontpage was ready

I managed to get the mobile frontpage working. It was detecting if you are using a mobile browser and redirecting you to the dedicated OpenCart mobile theme.

Well, I was around 30% into the mobile theme when I hit the complexity of the e-commerce checkout process. I just couldn't get it. Why was it so complicated? Is there a way I could simplify it? Should I simplify it now?

I was getting fed up with how slow the project was moving

There was constantly something cropping up that needed to be fixed. I got the basic functionality up. You could browse the catalogue, but there was still much to be done before the theme was complete: cart management, checkout, user login and profile, information pages…

I felt overwhelmed again. I applied the "reduce scope" advice for the second time. I realised I wouldn't be able to make the cookie/candy visuals, too. So, they had to go away along with the notion that this could be useful for starting an online cookie store for my parents…

T – 7 days

I had set a deadline one week from now for the initial release of the product. I had set up a demo on my server and shared it on twitter.

Response was immediate.
Many wrote that they need and want such a theme.

Filled with hope I worked on what was left.

T – 6 hours

The night before the deadline I was cutting.
I was going to release the product on the next day no matter what. Pressed for time, I reduced the project scope so much that, instead of my initial idea to release a full-blown e-commerce theme, I was about to release a mobile theme… with no checkout!

"Will anyone buy this? It is incomplete, it is far from perfect…" Fear of failure was slowly creeping in but I wasn't going to give up now!

"Only by publishing the product I would know if people would buy it or not. Otherwise I would have failed only because of me".

I persisted.

To tie the loose ends, I disabled access to parts that still weren't ready. I hid all of the links leading to the cart, checkout and information pages.

Now, browsing trough the mobile theme, it didn't feel as if it was a work-in-progress. It just wasn't fully functional. None of the bugs and inner workings were showing through! I was happy!

In the hope of this being a definitive dedicated mobile solution I imagined people using it as a framework, so I renamed it appropriately—OpenCart Mobile Framework, or OMFramework for short.

T + 1 hour

I had just missed the deadline. The voice in my head was humming "You will fail, they won't buy this crap". It was trying to stop me.

But I zipped the files, wrote the installation instructions, uploaded some screenshots and the extension to the OpenCart marketplace and went to sleep.

How do I tell if the extension was successful?

This question occupied my mind before going to sleep that night.

I came to the conclusion that if even 1 person buys it, it would be a success. After all no one had ever bought a product from me. This first sale would prove that I could make something that people would to buy.

Did anyone buy yet?

I woke up after just 6 hours of sleep, tired but enthusiastic—I wanted to see if anyone had bought my product yet.

I logged into my OpenCart.com profile and to my amazement there it was—my first sale! I had 19.9 dollars in my account! I was staggered. I couldn't believe it. I made money while I was sleeping!!! Incredible.

Fast forward 2 months—OMFramework had survived 20+ copycats, doubling of the price, one major OpenCart release and many customers who found dozens of bugs in it. It was bringing twice the amount I needed to survive at that time and sales were growing with 30% every month!

Looking back now, nearly 3 years later, I understand why that first sale happened

The "mobile-only theme" sold despite its limited functionality. I didn't know it at the time, but it only happened because I unintentionally killed a core pain OpenCart store owners were having:

  • their mobile visitors were bouncing off the site at rates of 80-90% the moment they saw a page intended for desktop browsing
  • mobile traffic was growing monthly

As a result of that they were losing sales. Store owners had to do something, but all of the available options cost more than my product.

I turned something I wasn't sure about into a business that replaced my freelancing work entirely.

I managed to tap into the OpenCart world and I was successful, but I did it the hard way. 3 years, 1500+ customers and 6 extensions later, I can repeat the success. Intentionally.

A Free Course on Finding Ideas That Will Sell

You took the time to read through my story and I just don’t want to leave you empty handed. You want to create software that people will buy.

I’ve put together a free two-week email course that will teach you how to find tons of ideas for successful software products.

Finding a Successful Software Product Idea


I won't send you spam. Unsubscribe at any time.