Read my book

I wrote books about Webpack and React. Check them out!

Friday, January 1, 2016

Reflecting on 2015

You could say 2015 was a good year, even if it wasn't an easy one. Career-wise I made a huge change of direction. Earlier I had relied on random freelancing gigs. To be honest, I wasn't never particularly great at that. The rates are quite poor and the income is not that stable.

I realized this wasn't something that could work over longer term. As a result, an effort known as SurviveJS was born. That's what kept me busy during 2015. I hope 2016 will be another SurviveJS year.

SurviveJS - What's It About?

My first book!
You could say the seeds of SurviveJS were planted when I happened to comment on a blog post by Christian Alfoni. He had written about Webpack, and commented on the situation (lack of docs). At the time the tool, even though valuable, was really hard to approach. To change the situation, we wrote the first version of the Webpack/React cookbook. It's an effort that became quite popular.

This initial success made me realize there might be room for something commercial. I decided to poke an old publisher acquaintance of mine. We tried proposing a book related to the topic, but failed to get the deal. Christian got busy with some work of his own. Regardless, I decided to carry on. I chose Leanpub as my intermediate given I didn't want to deal with the complexity of sales myself (VAT MOSS and all that).

Suffice to say, this process led to an interesting book about Webpack and React. It's an ongoing effort. At the moment this is something that sustains itself financially allowing me to focus on the effort. This is a very good situation for everyone involved.

If you had told me a year ago I would have sold almost thousand books by the end of 2015, I wouldn't have believed you. The book was the #1 selling book for the last week of 2015 at Leanpub. It was also a part of the React Indie Bundle. The bundle was a success as well.

As I don't want to bore you with exact details, consider checking out my recap of the year 2015 of SurviveJS. You'll find more specific information there.

Personal Development

Winter fog
I think this was a good year in terms of personal development. Besides beginning to understand publishing business a little better, I picked up photography (Fuji X100S is great!), improved my artistic skills, and even improved my technical skills. Having to think deeply about something forces you to actually understand what you are doing and why.

I developed a couple of semi-interesting libraries/tools during 2015. I've listed some notable ones below:
  • Reactabular is a powerful table abstraction for React. I pushed a lot of problems to user space, but it seems to work quite fine regardless.
  • react-pagify is a paginator for React. This grew out of Reactabular, but isn't coupled with it in any way. I probably need to rethink the API and make the demo page nicer. The functionality is there, though.
  • react-ghfork is an easy GitHub fork component for React. Not much to add.
  • react-ellipsify is a neat ellipsis component for React. It's not particularly popular, but I achieved what I wanted to technically speaking. The API is nice and it can ellipsify any content. This might come in handy later.
  • Antwar is a Webpack and React based static site engine I developed with Andreas Eldh. It's still a little rough at places. I hope to get a solid version out there early 2016. It's just something I develop based on my own needs and it's not even meant for large scale usage. Nevertheless, there might be a thing or two to learn from the implementation.
  • webpack-merge was developed to address an issue showcased by my book development. I needed simple means to organize Webpack configuration. A simple variant of a standard recursive merge seemed to fit the problem. The library has grown since to make it even more suitable for organizing complex configuration and as a result it fills a small niche in the ecosystem.
Overall, it was a good year and I progressed in many areas. A lot of these projects will likely go further during 2016.


I gave a couple of presentations during the year. I know I should do more, but my geographical location doesn't really help with that. If I want to present, I have to spend a day or two traveling, not to mention that this tends to be expensive. I've listed my presentation slides of 2015 below (works best in Chrome):
Maybe I'll do more in 2016, but this depends on luck and demand. I tend send some proposals every once in a while, but it's quite competitive these days with that.


Winter Sun
In addition to being a talking head, I participated events as listed in my travel reports below:
I want to give special thanks to Prospect One and jsDelivr for helping to sponsor the OSCON trip. If you need graphics or web performance work done, consider them. Thanks Dmitriy!

It's fun to visit events every once in a while. They force you to get out of your shell a bit, and at least it breaks the monotony of daily grind somewhat. Sometimes spending a few days abroad is all you need. It gives you perspective and energy to push further.


It feels like 2015 was a good year. It definitely wasn't an easy one, but at least I have a certain direction now. Especially SurviveJS is something I can, and will, push further. The best thing about the situation is that it allows me to contribute to the community while doing something I enjoy.

I am fairly confident about 2016. 2015 put me on the right track and took some weight from my shoulders. Now I just have to make most of the momentum. Interesting times.