About this site
Photo by Philipp Torres / Unsplash

About this site

I'm James — a full-stack developer who ended up, somewhat by accident, as one of the more experienced people writing publicly about Konva.js and HTML5 canvas development.

This site started as a place to work through problems I kept hitting in real projects — the kind of thing that takes an afternoon to figure out and thirty seconds to explain once you know the answer. Canvas doesn't behave like the rest of the DOM, and most full-stack developers hit the same handful of walls the first time they build something interactive on it. I started writing those answers down. That's grown into 70-plus articles, most with working code, each aimed at a specific problem rather than a general tutorial.

Somewhere along the way it turned into more than a blog. I've spent years helping people work through Konva issues on the official Discord, contributed to the library's documentation, and answered more Stack Overflow questions on the Konva tag than I can easily count. None of that was planned — it's just what happens when you keep showing up in the same place long enough.

These days I take on a small number of fractional and embedded engagements with teams building canvas-heavy products — whiteboards, design editors, mapping tools, and the like. If that's relevant to what you're building, the Hire me page has the details.

Otherwise, feel free to poke around the articles. Most of them exist because I wished someone had written them first.