Writing
A collection of articles I've written for my blog or other publications.
-
Experimenting With Flow Fields
Creating generative art with organic flow patterns, math, and code.
-
A CSS Polaroid Stack
Creating a stack of polaroids with a development animation and pseudo-random stacking.
-
Coding a Snowflake Generator
Hand-code an SVG snowflake, experiment in an interactive playground, and generate infinite random snowflakes with a dash of JavaScript.
-
Break the Rules!
“Learn the rules like a pro so you can break them like an artist.” — Falsely attributed to Pablo Picasso
-
The Math Behind Nesting Rounded Corners
I was recently designing an interface with a lot of rounded corners. But, when I nested rounded corners it looked off somehow...
-
Web Components as Progressive Enhancement
By wrapping and enhancing HTML elements, we can provide a solid baseline experience, with progressive enhancement as the cherry on top.
-
Generating SVG Solar Systems, Part 2: Filters, Gradients, and Clip Paths
Turning simple shapes into complex illustrations using some SVG magic.
-
Generating SVG Solar Systems, Part 1: Setting the Scene
Using JavaScript, SVGs, and CSS to procedurally generate unique solar systems.
-
Building an accessible image comparison web component
By leveraging native browser controls, we can make accessible and high-performing components with just a dash of JavaScript.
-
HSL: A Color Format for Humans
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.
-
Using Handlebars Partials In Markdown With Eleventy
Combining the power of Handlebars with the simplicity of Markdown.
-
Building Flexible Components With Transparency
By adding a touch of transparency, we can design components that automatically adapt to their backgrounds.
-
Generating complementary gradients with CSS filters
CSS filters unlock powerful new opportunities for playing with color. By applying some color theory we can dynamically generate harmonious color combos and gradients. Let's sell some socks!
-
CSS Animation Timelines: Building a Rube Goldberg Machine
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!
-
Creating a New Personal Identity
Description
-
Keeping the Stack Simple
Experimenting with a new build system for my portfolio.
-
Redesigning my Website
Here we go again!
-
What Flushing Toilets Taught Me About Web Design
I recently traveled through Europe and re-learned an old design lesson from the humble toilet flusher.
-
Transitioning Hidden Elements
Transitioning hidden elements can be tricky! I wrote an npm package to provide a reusable solution.
-
Staggered Animations with CSS Custom Properties
Movement in nature doesn’t happen all at once. I wanted to bring this natural movement into my web animations.
-
Taking Isomorphic Apps Offline With Service Workers
For a recent project, we built an isomorphic PWA. When I added a service worker, I ran into a challenge I hadn’t expected…
-
All Mixed Up: Isomorphic Sorting Gone Wrong
Why would the same sort function return a different value in Node vs. a browser?
-
See No Evil: Hidden Content and Accessibility
There are a lot of ways to hide content. Which options are the most accessible?