Ari Stathopoulos

Web Developer, Accessibility & Sustainability evangelist, Human.

My mistakes and thoughts on building a WordPress shop

17 June 2014

I’ve been using WordPress for a decade, but only started working with it about 5 years ago. I started as a freelancer and about 2 or 3 years ago, I had a very clear idea of what exists, what doesn’t, what tools I needed to build better websites and so on.

Instead of finding “workarounds” and things that existed at the time but would only be an approximation of what I had in my head that I needed, I set out to build it myself. Mind you, I haven’t studied anything computer-related… My studies were in sound engineering. So I had to learn PHP, HTML, CSS and all the other languages with acronyms for names. It’s an exciting trip and it never ends!

Anyway, after a while I started coding my own theme based on Bootstrap and named it bootstrap-commerce (I still have the bootstrap-commerce.com domain). The idea was to build a theme that would be compatible with all major e-commerce software: Easy Digital Downloads, WooCommerce, MarketPress and more. While building it I found there was no SIL-licenced iconfont available (Font Awesome was not opensource at the time) so I also built elusive-icons and open-sourced them. I decided that I would open-source the core of the theme, and then have a “pro” theme that would have all the e-commerce-specific stuff in it. So I did… However as any beginner entrepreneur, I made the wrong moves at the wrong time, with no promotion tactics and so on. So I decided I would nuke everything and start fresh! I would build a free core theme-framework, addon plugins to add extra functionality that doesn’t belong in a theme, and the separate child-themes for each e-commerce product. After all, nobody uses everything at the same time. All my previous customers from bootstrap-commerce (those whose subscription had not expired) were migrated to the new platform and were given access to the new products for 1 additional year. This lead me to my current business, shoestrap. And things are looking a lot better this time! However it’s been a bumpy road, and it still is. When people start to think they want to build a business selling products they build, they don’t think about these things… So let me share some of my findings.

I really enjoy coding and if possible I would have all of my products free for the community and available on github. Not that I get something from having them free… I just like giving away stuff like that. But that’s not always possible… We are human living in a human society and we all have bills to pay. Ideally I would build something and the people using it would feel grateful that someone spent months of their life in front of a monitor, writing and coding stuff so that they can simply click on an “install” button and have everything working. Ideally, they would then do a donation. Doesn’t matter how much… as much as they think it’s worth. I even tried that for about 6 months. You know what it made me? less that $50.

So that’s not what happens… far from it! You build something, people download the code you spent months coding, they install it and then at the first sign of trouble they don’t open an issue on github to see what’s wrong and possibly help resolve this for others. They don’t even try to look at the documentation that you spent days and nights to write to make their lives easier. They don’t even read the product’s readme file to see if they’re anything they should pay attention to. Instead they hit a second button to uninstall it, and then leave a comment like “this is crap” or something similar (we’ve all seen ungrateful messages like these).

We have a responsibility as developers to keep things as simple as possible. The KISS rule should always be applied to the software we develop.

We all dream that someday we’ll be able to make a living from In the beginning, we usually all start alone. So there are no salaries to pay. :) but you still have to pay the rent and eat some food, so you get a “normal” job. Mine was (and still is) at a large WordPress company as support staff. In other words, other -smarter and more capable by me- people write plugins, and I provide support for their clients. Support is essential to any product, do not underestimate it! So I work on my day job, and then as soon as that’s done, I write some code for my own products. After that, I have to support my own clients, and also do stuff that normal people do like sleep and eat. At some point you simply can’t do everything at once and you need some help in order to avoid what’s known as developer burnout you get some help. That can be a partner or an employee. I chose a mix of the 2. A good friend who I wanted as a partner. He helps me code and takes care of the forums. Since we code our plugins together, we also split the profits 50-50. But now I don’t work on my own forums that much.. only when needed. So I have to pay him for that extra job that he’s taken off my hands… it’s reasonable and it’s what I wanted to do anyway. So… Now your expenses are Hosting + Support + 50% of sales. Until you reach this threshold, your business actually costs you more than you make. In order for our shop to be able to support me, I need in average about $1500/month in my country for rent + food + miscellaneous. That means that if I want to make $1500/month, the shop has to make $1500 * 2 (‘cause it’s 2 of us) + hosting + support fee. Luckily my friend that takes care of supporting our clients only needs to work about 30 minutes/day to reply to any questions (which is a good thing considering we now have more than 15.000 clients… the better our product is the less questions are asked) so we agreed on a low support fee. But even with that, the total sales that our shop has to make are about $3300-$3500/month. That may not sound like much, but when you’re trying to make a name for yourself and you’ve started with nothing it’s a lot! That number gets harder to reach if you’re not in the US too. There are no WordCamps to go to, no people to meet in person, no connections, and what’s worse, no payment gateways. Yup, you heard me… the only payment gateway we can actually use is PayPal.

At least now, 2 full years later, we are starting to make a profit. Not enough to sustain us, but still a profit. At some point though, you are faced with a dilemma:

  • As long as you keep your day job, you won’t be able to commit yourself to your own projects enough to make the progress needed or the marketing moves necessary that will boost your business. It will keep growing but pretty slowly.
  • If you quit your day job, you will have all the time in the world to code and really make your products stand out, and in the long run make a real profit. But until then, you’ll be left with no income.

You have to choose the right moment, and it all depends on your current job. I’m lucky enough to be working from home, with some great colleagues. There are days that I can say I really enjoy my day job, and that really says a lot for the company I work for. I realize I may lose my job because of this post, but it’s just thoughts any normal human being with ambitions would make and I wanted to share these. Ultimately I can’t spend the rest of my life providing support for products I haven’t helped shape. I disagree with some of the decisions made on these products coding-wise, design-wise and marketing-wise. As much as I like it, it’s a job that causes me migraines and though I can imagine myself doing it next year, I can’t think of myself doing that 5 years from now, when I’m 38.

Building your own products and selling them is a burden. I still believe in my dream and I keep pursuing it, even if it took me 2 years to stop losing money.

Keep dreaming and don’t give up.

Ari.