A collection of articles I've written for my blog or other publications.
By wrapping and enhancing HTML elements, we can provide a solid baseline experience, with progressive enhancement as the cherry on top.
Turning simple shapes into complex illustrations using some SVG magic.
Colors on the web are confusing — but they don't have to be! The HSL format makes it easy for humans and computers to work with color.
By adding a touch of transparency, we can design components that automatically adapt to their backgrounds.
Lately I've been using variables to plan out pure CSS timelines for complex animations. I built an SVG and CSS Rube Goldberg machine to put this technique to the test!
Experimenting with a new build system for my portfolio.
I recently traveled through Europe and re-learned an old design lesson from the humble toilet flusher.
Transitioning hidden elements can be tricky! I wrote an npm package to provide a reusable solution.
Movement in nature doesn’t happen all at once. I wanted to bring this natural movement into my web animations.
For a recent project, we built an isomorphic PWA. When I added a service worker, I ran into a challenge I hadn’t expected…
Why would the same sort function return a different value in Node vs. a browser?
There are a lot of ways to hide content. Which options are the most accessible?