Hey look, it's a blog!

Hi, I'm Josh ComeauJosh Comeau. I'm a staff software engineer at GatsbyGatsby.

When I'm learning something new, my first priority is to figure out the right mental model. I want to develop an intuitive understanding of how the different pieces tie together, and how the system reacts when changes are made.

This blog is my attempt to share the stuff I've learned, often using dynamic, explorable widgets. The idea is that things will be easier to understand if you can poke and prod at it, change the inputs to see what happens on the output. They don't make sense for every subject, but they can be super helpful for others.

Magical Rainbow Gradients with CSS Houdini and React Hooks

January 13th, 2020

Using CSS custom properties and Houdini for rich, flexible animations

Finding your first remote job

December 19th, 2019

Part II in a series on remote work.

My experience as a remote worker

December 2nd, 2019

An honest look at what it's like to do remote software-development work

Folding the DOM

May 19th, 2019

In this post, we'll explore a technique we can use to "fold" a DOM node, like folding a letter in real-life. On that journey, we'll learn a lot about 3D transforms and CSS animation techniques!

📣 Announcing Tinkersynth 2.0

May 1st, 2019

Lessons learned during a hectic product launch, and some exciting new features!

Dynamic Bézier Curves

May 23rd, 2018

A deep dive into Bézier curves in React. We'll look at how to build dynamic effects such as scroll-to-flatten using SVG path instructions, and how to architect our components for maximum readability and reusability.

Animating the Unanimatable

February 15th, 2016

An in-depth look at the surprisingly complicated problem of list reordering

Join the Newsletter 🗞

If you've enjoyed my posts and don't want to miss the next one, you should sign up for the newsletter! It's my favourite way to communicate with my readers, and I send it quite sparingly (whenever I post something new, which appears to be about 4 times a year).