From Service to Product – Starting a Premium WordPress Plugin Company

Seven years ago I hired a business coach to help me through a difficult time in my career. I had started 3.7 Designs five years prior. What was a part-time passion project quickly became full-time. When a book deal landed in my lap I was unable to manage the many directions in which I was pulled. We discussed a multitude of topics, but there was a recurring theme: starting a product based business. My coach said this type of business really resonated with me. While I agreed at the time it felt like an unobtainable goal, so I spent years avoiding action.

Today—in addition to 3.7 Designs—I operate SnapOrbital, a software company that has a growing inventory of products including our flagship plugin, Project Panorama. With humble aspirations to begin the company has grown. SnapOrbital is more successful than I ever imagined it would be selling hundreds of licenses per month.

When you sell hours it feels like you’re on a hamster wheel. Every project is starting from scratch. Time invested has a fixed return, and you’ll never make more for the hour you just spent than you already have. Scaling is extremely difficult.

Suffice it to say a product feels like the holy grail. You do the work once and sell it over and over again. Scaling is a matter of building infrastructure verse adding more labor. It’s liberating to think about.

So how did I go from selling hours to selling products? I’ll tell you.

The Beginnings

“You can just send me an update every couple of weeks, you know… like the thermometer indicating how far along we are.”


It was early 2011 and I was starting a project with a long-term client. He was describing how he’d like to be kept in the loop.

At the time I struggled to balance communication and production. Despite my best efforts I’d spend significant amounts of time responding to progress inquires (the “Where are we at?” question). The request for a thermometer-like indicator of progress gave me an idea.

I realized clients just want a general idea of how things are progressing. Traditional project management tools do a poor job of communicating overall progress. They’re designed for delegating work. It’s easier to say “How’s it going?” than to study milestones on a calendar. Now to create a progress bar that can be understood instantly. And with that Project Status was born. It was simple to start–a single, static HTML file with just enough information to keep the client anxiety free. Once a week I’d update the files and e-mail my clients links. This reduced time spent communicating significantly even though it was a manual process because it put the client’s mind at ease and managed their expectations.

The original “Project Status” interface

With positive responses to my new tool I decided to automate it and built a WordPress plugin. Being a fine standing member of the open source community I pushed it to the WordPress repository in case someone else found it useful. There it sat, largely untouched for three years.

From Free to Business

To be honest I didn’t think much about the plugin for those three years. Every once in awhile I’d get a feature request or someone would donate $5 or $10 as a “thank you,” but I never really justified spending time on it. That changed in 2014.

My colleague, Declan, and I run a local WordPress meetup in Ann Arbor. In the summer of 2014 we had Justin Ferriman, a local premium plugin creator, talk about competing with giants—in his case WooThemes and their plugin, Sensei. Justin and his wife, Kloé, had recently released LearnDash, one of the first WordPress Learning Management Systems (LMS) and it had been so successful they quickly transitioned from passion project to full time. Hearing this story got me thinking.

I wonder if people would pay for Project Status? Checking the repository I was shocked to see over 10,000 active installs. Maybe this was worth a shot?

Building the Premium Plugin

Project Status was pretty stale by this point. Not only was the design very “2010” it just didn’t seem as helpful as it once was. We had even stopped using it internally. The first step was to not only rethink the visuals but the design of the product. How can I really make this useful?

I considered our own needs at 3.7 and what would make this product a comprehensive road map for our client projects. Further, how do I reduce the amount of time it takes to manage the tool? One of my biggest complaints about project management tools is you can spend just as much time managing them as time they save.

The addition of phases and new interface aesthetic

The result was adding “phases” to a project, essentially splitting projects into smaller sets of tasks. This way a client could decide at a glance if they just wanted to see overall progress, mid level (progress across the phases), or low level (individual tasks.) To reduce management time I automated progress calculations by looking at task completion. Previously you’d have to indicate (aka guess) how far along the project you were–this feature did it for you.

It was more useful than I expected, even internationally. I never really knew how far along a project was and automatic calculations added clarity and gamified the projects: “We’re 80% done — let’s push and get through the last 20%.”

The last thing I needed was a better name, Project Status was uninspiring. After some time I landed on Project Panorama, as the plugin gives you a 360 degree view on your projects.

It had a fairly small feature set to start; I didn’t even have membership capabilities to start but it felt like enough to launch.

Launching the Plugin

When it came time to launch the plugin I realized I was only 50% of the way done. Designing a website, setting up licensing, payment options, documentation and a support system took way longer than I expected (fortunately settings things up is a lot quicker now with courses like Making Pro Plugins.) I picked Easy Digital Downloads with the software licensing add-on, created a handful of basic pages for documentation and initially used FreshDesk for support (I’ve since switched to HelpScout.)

The original Project panorama landing page.

With testing out of the way and being fairly confident it was relatively bug free, I decided I’d launch on March 19th, my birthday. The next challenge was finding people who might actually buy it.

Finding an Audience

I was fortunate that Panorama was scratching my own itch and I knew where I spent time online. I paid for some blog placements on sites like WP Mayor, asked some friends to blog about Panorama and e-mailed some lists I had built long ago but never actually used. Then I waited.

Suddenly, a sale rolled in. I was so excited that I e-mailed the customer personally. I didn’t get a response, he probably thought it was an automated message.

Then another sale, and another. More sales rolled in throughout the day and well into the night. My initial price points were so low ($39 and $49) that it didn’t amount to much but the motivation was sparked. I knew that I could keep building on this.

Lessons Learned

In my next post I’m going to outline how you can get a premium plugin off the ground. In the meantime I did learn some very valuable lessons.

The most important is that you can’t sell what you don’t release. I know way too many people who never get anything out there because expectations are too high and either the idea of building the plugin is too daunting to start or the initial release never get’s finished. It’s better to release an early, minimal version of your plugin to see if there is any interest than spend more time building a full featured version with no idea what demand will be like.

Second, you need to think about how you’re going to make people aware of your plugin. Put together a plan before hand and be ready to send out messages when the time comes. Finally, start small. Price low to get people in the door, get feedback and learn how to make your plugin more valuable. You can always raise prices later.