Pinegrow Year in Review 2014 — From 0 to $100K

Pinegrow Web Editor is a desktop app for Mac, Windows and Linux that lets web developers and designers build webpages more efficiently.

Pinegrow is a bootstrapped business with no VC investment.

The Launch

In the evening of January 8th 2014 I submitted Show HN story to Hacker News. My wife Ivona and I sat on the sofa with Google Analytics real-time view in front of us. Our three year old son was already asleep.

After two and a half years of on-and-off development the 1.0 release was finally out. Our approach was the opposite of the lean startup ideal. No users saw Pinegrow before launch. Nobody told us they would actually use such app. This huge effort was based solely on a hunch that web development could be made easier.

And forget about MVP. You can’t come out to a saturated market with just a couple of useful features. Pinegrow had to have all the main features from the start: ability to open any HTML file, full range of configurable Bootstrap components, CSS editor with integrated LESS parser and the ability to edit multiple pages at the same time. After all, that is what distinguished Pinegrow from the rest.

Although Ivona and I own and run our company Humane technologies together, it was just me working on Pinegrow. Ivona was focused on our mobile app business which at best times covered about 30% of our monthly expenses. But that’s a topic for another post.

The launch was a Hail Mary pass. Our savings were all gone. The credit lines were maxed out. We borrowed all the money we could and it was also all gone. The deal was that that night we had to sell at least two copies at $49 each, otherwise I’ll start looking for a job in the morning.

So imagine our sadness when Hacker News dropped the Pinegrow story after one hour on the front page. I asked a couple of friends to up-vote the submission and I suspect we triggered site’s vote ring detection. Votes of our friends were not even necessary at the end. The story was getting enough traction on it’s own merits.

But the first sale came in shortly after that. And another two by the morning. That meant that I could spend another day working on Pinegrow. For the rest of January, the first thing I would do in the morning was check how many Pinegrows we sold in the night to see if I needed to start looking for work. And each day we sold just enough Pinegrows to keep going. By February we even had a safety buffer of one or two days.

Looking back, the way we did things was immensely stupid. We should have launched sooner, just having the best Bootstrap support on the market would be enough for the start. Yet somehow our stupidity didn’t kill us. Good karma, sheer luck or stubborn perseverance… I have no idea what saved us.

Selling Pinegrows

Selling Pinegrows is our family’s obsession. The first thing we say to each other in the morning is “How many Pinegrows did we sell in the night?” Ben, our now four year old son, knows the number. In the early days riding the wave of fluctuating daily sales was very emotional. One day we would be happy, the other day disappointed and worried. But as sales grew and we emerged from the red, we naturally became less emotionally invested in ups and downs of our business.

In 2014 we sold about 3500 licenses to users in more than 100 countries:

App sessions of paid users by country

The revenue was a bit over $100.000:

Monthly sales in 2014

April and May sales include MightyDeals promotion where we sold lots of licenses for a greatly reduced price.

Conversion from trial to purchase is about 10%.


The affordable price is another competitive advantage over established subscription based or higher priced solutions on the market. $49 was chosen because it is the price that would be a no-brainier for me if I would be buying an app like this.

We tried raising the price up to $79 but purchases decreased significantly. What ended up working OK is to sell two licenses:

  • Personal license for $49
  • Company license for $79

The two licenses are more or less the same, but we ask companies to purchase the higher priced license. There is no easy way to enforce that, so we simply trust users to select the appropriate license.

We also have a student license that costs $25.

We have a couple of enterprise clients, but they just ended up buying regular company licenses even when offered higher priced priority support packages. So I’m yet to meet those mystical $5000-is-a-rounding-error-for-me enterprise creatures that patio11 and others often talk about ☺.


Well, we have a website. We did a MightyDeals promotion. Spent about $700 on Carbon, Google and Reddit ads. The ROI of ads was negative so we stopped doing that.

Starting the trial requires registering the email address and we have about 16000 subscribers on our mailing list. That has been by far our best marketing resource. Sending out a $10-off promo makes payment notifications rain down for the next few days.

That’s about all. I enjoy improving the product much more than promoting it around the web. That’s something I want to change in 2015. The post you’re reading is a part of this!

The Technology

Keeping it as simple as possible.

The app is 100% JavaScript packaged with node-webkit into Mac, Windows and Linux desktop apps. The same code also runs in the browser without using any back-end services.

Node-webkit has been a god-send. It has its quirks, but it makes up for them by giving you a simple way to deploy your app on all three major platforms.

Our webpage is static HTML hosted on GitHub Pages.

The Mac App Store

I spent about two weeks on getting Pinegrow compatible with the App Store. Node-webkit makes this very hard to do and OS X sandbox has lots of limitations that are difficult to deal with for an app like this.

In the end I simply gave up on getting Pinegrow into the App Store. 30% commission, long update times and unfriendly review process are all things I’m happy to live without.

Payment processing

We started out with PayPal but soon switched to Paddle. They are UK based and not very well known. The best thing is they take care of VAT and #VATMESS. Instead of dealing with 100s of small transactions we just get one large monthly payment. Their commission is about 5% including PayPal or credit card processing fees. The simplicity is well worth that extra 2% in commission compared to using PayPal directly.

The Team

For the most part of the year it was just me and Ivona. She took care of administration, I did the rest.

Being the engineering team of one can be huge productivity advantage. Discussing the product road-map with development, design, product and marketing departments is done just by sending neurons from one part of your brain to another.

In November we started hiring additional team members to help with development, support and design. This is still ongoing, so I can’t say anything conclusive at this point.

What’s next for Pinegrow

From the software architecture point of view, Pinegrow is a foundation that can be easily extended to support various frameworks, plugins and templates.

Website templates with Pinegrow plugins that let users easily build and customize the template are a powerful combination. Check out Kelvin Pine Pinegrow template to see how that looks in practice.

But the number one priority for 2015 is launching WordPress support. The workflow of converting HTML to a WordPress theme is seriously broken at the moment. And once your theme is encoded in PHP you’re stuck with using a textual code editor. We’ll fix both problems with Pinegrow — soon.

All these things will be sold as add-on products to new and existing Pinegrow users.


I don’t obsess over competitors. In practice that means that I don’t do any in-depth testing of their apps or services. I feel that would just obscure my vision for the product. Comparing yourself to others too much leads to losing the confidence and appreciation of your own unique identity.

Still, it feels good to hear our users refer to Pinegrow as the Dreamweaver replacement. We have at least one user at Adobe who is regularly using Pinegrow. It feels good to be the guy who’s single-handedly taking on the market leader with almost unlimited resources and engineering power ☺

Dealing with Piracy

Being a 100% JavaScript app, Pinegrow is not that difficult to crack. The code is minified, and there is no protection beyond that. I could spend countless hours on implementing anti-piracy measures and still, at the end, hackers would be smarter than me. So I choose not to do that. Improving Pinegrow is more fun.

Instead, when I come across a forum post where somebody is asking for a cracked version of Pinegrow, I reply that whoever needs a license but can’t afford it should contact us and we’ll help them out.

So, we give away free Pinegrow licenses to anybody who asks. Software is great for that. You can give away as much as you want without losing anything yourself.

Getting Stuff Done

Releasing updates regularly, gives a nice rush. Getting from ideas to implementation to release in about two weeks is a great source of motivation.

But sometimes you have to deal with difficult features that take months of development. That was the case in the last six months before launch and to smaller extend over the summer when I had to spend a couple of months on implementing the new source code parser for Pinegrow.

In such situations, all you can see in front of you are endless to-do items with no end in sight. For me it helps not to focus on that. Just relentlessly keep moving forward, one small step at a time. And then rest and relax. In those long six stress-filled months before launch I would go for a hour-long swim every day and with every stroke think:

“Move forward. Just move forward.”

Thank You

In the past year we met some amazing people through Pinegrow. Some users bought extra licenses just to support us. Friendly Pinegrow community has been the best unexpected bonus of this venture.

Big thanks to all of you who made this possible!

Let’s talk about this on Hacker News.