That it’s one of the best ways to learn a technology you haven’t worked with before.

I just published an npm package/tool that allows you to create static candlestick charts for financial data. All you have to do is plug in some JSON data, set some options and call the draw() function on it. Check it out here for more details, there’s a nice and clean little README involved: NPM - candlestickcharts

In a matter of a week’s worth of solid work, I managed to:

  • Learn how to create an NPM package (after publishing it, this point feels like a cop out since it REALLY is not that difficult. The point is, sometimes we hesitate making progress because of the anticipated workload).
  • Learn how to work with HTML Canvas. I’ve never touched this before, but in evaluating my options for this project, I felt like this may be the best way to go about it. “Pfft…it’s just HTML, right?!” Wrong. The HTML part of it all was half a line’s worth of code. The rest was manipulating pixels using JavaScript.
  • How to accurately scale and plot a chart using HTML Canvas, from data provided in JSON.

Let’s not underestimate the value of getting practice in your favorite JavaScript ES6, object, array and Math/Number methods. Plus the fact that you just created a tool that can potentially make at least one developer’s life easier and actually pushed it out into the world. That’s always a good feeling. Whether or not someone takes this project and creates something out of it, well…🤷‍♂️.

Now to find out how much maintenance work is involved, maybe I’ll make another post then 😉. In the mean time, I’m probably going to look into a new project - because let’s face it, it’s more fun to work on shiny new ideas than maintaining old ones. (Ha.)

NOTE: This post was originally published on, here.