Apr 27, 2025
Tools that build you
While putting the finishing touches on the latest release of Grease, the words “5 years ago” caught my eye in GitHub. 5 years? Working on this? Of all the things I could do with my free time, of all the side-quests that fizzled out, why am I still working on this?
Upon reflection, my conclusion; it’s good to make and modify your own tools.
Backing way up; tools can be crudely grouped into one of two categories. There are off-the-shelf tools that you buy or borrow; a table saw, a hammer, React. And then there are bespoke tools that you make or modify. Elaborate handmade jigs, bent bits of wire taped to handles that carve clay just so.
Off-the-shelf tools are the foundation of any professional practice, and rightly so. If a cabinet maker built their own table saws and drill presses, there’d be precious little time for making cabinetry. But bespoke tools fill an important role, in that they do precisely what off-the-shelf tools cannot; they fit your exact needs and desires.
Professionally and creatively, that’s important. Case in point; prior to Grease, I’d inherited a large Jekyll website that was long in the tooth, and slow to build. Sufficed to say, waiting 2 minutes after pressing save to see a CSS change show up in browser is a serious problem for someone who’s process revolves around designing in-browser. It made for worse work that took longer, and was a real flow-killer to boot. Tools that fit the way you work matter.
But the value of building your own tools goes beyond functional min/maxing and workflow efficiencies. This took me a while to notice, but ultimately it’s the thing that keeps me coming back. Working on Grease has made me a better designer and developer.
I don’t remember when it happened, but at some point, Grease became my canvas for exploring new ideas & platform features, a receptacle for lessons learned from production projects, and a game of “OK but now how can I do this better?”. A functional, ever-evolving “note to self” of how I think websites should be made.
Building a reusable foundation in Grease pushed me to think more deeply about approaching CSS as a declarative system instead of an ever-growing collection of disconnected rules. It’s made me spend time considering just how much tooling is “worth it”. It’s made me take more care in designing with the grain of the web. It’s made me more conscientious about naming things. It’s made me think about the craft and the process in a way that wouldn’t have otherwise happened if I were just doing typical professional work. It’s made me better.
The thing is, you can’t make good tools without thinking long and hard about the craft and process the tools will be used in. And that act – stepping outside of doing the work and examining the whole – creates a virtuous cycle. You build the tool, the tool builds you.