The project is completely bootstrapped and is used by enterprise companies such as Amazon, T-Mobile, and Sony.
Originally an open-source project, Marcin and his co-founder Chris turned Handsontable, now a 19-person company, into a profitable software vendor in 2015.
Since founding the company, Marcin hasn't publicly spoken about Handsontable's journey. So I reached out to learn more about him and the company. Here's the interview:
Marcin: Before starting Handsontable, I was working as a software engineering consultant on a fixed term project. I knew the contract would come to an end, and my mind was buzzing with ideas.
Not for the purpose of building a profitable business, but for the sake of showing the world what I can build. In hindsight, I now know this was a fallacy - I shouldn't have built a company without knowing the market - but back then, I didn't care. I just had an idea.
Marcin: When my software engineering contract ended, it was 2011. At first, my idea was to build a tool for journalists to create data visualizations for articles online.
So, my thought was to bridge these two worlds. I built an MVP of a tool in which there is a split screen experience. On one side there would be an Excel-like data grid component, known today as Handsontable, and on the other part of the screen you would see automatically generated graphs. So my potential user would paste the data from Excel to Handsontable, or even type it directly in Handsontable to get a beautiful interactive graph that is embeddable in any website in a similar way to YouTube videos.
Then I put Handsontable on GitHub, which was getting popular at the time, and my project got some initial traction. As far as licensing is concerned, everyone was on jQuery and Handsontable was also a jQuery plugin back then. So, I picked the MIT license, which was the same license as jQuery. I wanted Handsontable to have the same conditions, because that license evidently helped jQuery achieve it’s tremendous popularity.
Marcin: At some point, users started reporting feature requests. In order to help them, I applied moreAPIs to the product that would help to integrate Handsontable with any app.. At that point, my motives were still more altruistic than commercial.
Then one day, while reading Hacker News, I thought I saw the Handsontable component on the main page. I thought to myself, "Am I going mad, or is it really there?"
But I refreshed the page and yeah, it was there. It got 40 comments, all of them were positive, and the project went from 0 to 1000 stars on GitHub. That brought more and more traffic to the project.
Marcin: I chose to target journalists initially because I was interested in journalism and I was looking for a path to get maximum reach. I wasn't thinking about monetization.
But within a week after completing my MVP, it was rejected by a major Polish news outlet that I thought was my dream customer. Even worse, the same week, I learned about another startup called Infogr.am receiving 3 million euros in funding to build basically the same idea of a data visualization tool.
Marcin: I didn’t have a lot of time to worry as I decided not to compete with them at all. My mailbox was full of offers from people from around the world to commission new features for Handsontable.
You can say that the side product of my MVP got life of its own thanks to GitHub and Hacker News. At that time, open-source had literally saved the project by allowing the first believers to point out to me that it is a solution to more problems than I could imagine.
So I started working as a consultant adding features to Handsontable or integrating Handsontable with someone's code base. This arrangement lasted for the next three years.
It was easy to add first features, because they were really low-hanging fruits, but the more the product matured, the larger the requirements for additional features became.
Features would take two or three months to implement, and it was tough to meet the sponsors’ requests while also focusing on growing Handsontable.
So I hired a contractor to work with me on it. That was 2013. The next year, in 2014, I hired a first payroll employee. The same month, I hired two additional contractors. All of us were developers. It was all funded through cash flow from the consulting work.
The good side of it was that there were no cash problems. I was able to allocate half of the resources to consulting work, and the second half to maintenance or open source work that wasn’t profitable.
Marcin: While we were fully open-source, there was no clear idea of direction for the company, other than to react to what inquiries we received. If a customer wanted us to work on something, we did it. The reflection of whether we really want to sustain the requested change in the long term sometimes came too late.
The second problem was each new feature made our product more complex. The third was that at some point, we were going to run out of features.
Marcin: Chris Spilka and I met in 2014, and I told him about the predicament.
He said to me, "Why don't you turn this into a product company that sells licenses instead of hours?" And we both agreed this was the best route to go, so Chris joined the company one month later.
This is when we started transitioning the business from a consulting company to a product company.
I basically gave the steering wheel to Chris, and the first thing we did was build a paid offering on top of Handsontable.
We were proud of being a popular open source project and we wanted to continue being relevant as an open source project, but still find some way to monetize it. The idea was to sell premium features that would be interesting for enterprise customers.
Everyone on the team was worried whether we would sell the license or not, but obviously, it turned out to be a good bet, and from that point in time, we quickly became a company whose revenue is generated from selling these licenses.
In 2019 we needed to make a decision that redefined the company for the following years. The open-source license, which was the root of our early success, was now increasingly becoming an obstacle in the further growth and professionalization of the product.
We made a difficult decision of dropping the open-source version of the product to fully focus on the commercial offering. It is a topic that we’ve described in detail on our blog.