Principal Web
Developer &



Ramblings about what I know and what I think I know.

  • September 12, 2023

    Fast and Simple APIs with Deno KV

    Look out! There's a new persistent edge KV store in town! Let's take Deno KV and Deno Deploy for a spin by building a simple API.

  • September 10, 2023

    Glowing Blurred Backgrounds with CSS

    A quick walk-through of an easy, artsy and impressive pure CSS visual effect.

  • September 9, 2023

    Remote Leadership Takes a Concerted Effort

    Three years on since many companies went remote and some leaders still struggle with leading remotely. Here's what I think it takes.

  • September 3, 2023

    Hidden customText Preheaders in Veeva/Salesforce Emails

    Once thought to be an impossible ask, here's a simple workaround to allow customText hidden preheaders in Veeva and Salesforce emails.

  • August 30, 2023

    CSS Grid Systems with CSS Grid

    Let's talk about why there aren't any.

  • July 12, 2023

    The Web Is Moving at an Unprecedented Pace

    The idea that the web is evolving quickly is obvious, but needs pointing out. Here I reflect on how that pace is starting to have an impact on teams that haven't kept up.

  • April 18, 2023

    Are We The Weirdos?

    Only in the last few years have I realized that web dev as a profession and a hobby is like having a superpower, but it also makes me kind of weird.

  • March 9, 2023

    An Introduction To Robust-First Computation

    Did you know there's an entire field of computer science barely yet explored? Join me at the entrance to a deep rabbit hole as we take a look at Robust-First Computation.

  • March 1, 2023

    Three Design Smells Only Developers Can Sense

    In development, we have "code smells." Extending the metaphor, here are some design smells that devs can pick up on as well.

  • February 27, 2023

    Audit Content Reads with Cloudflare KV

    A quick write up on how Astro made it very easy to track page reads in Cloudflare KV.

  • February 25, 2023

    Always Be Expecting

    Let's look at how expectations can be used as an explicit device to improve work and working relationships.

  • February 24, 2023

    Productive Developer Experiences

    Developer experience has ramped up in focus over the last few years as a way to increase platform adoption and developer productivity. Here are the features I think make for a good DX.

  • February 15, 2023

    To Be Flexible, Be Inflexible

    Processes and systems are often built with extreme flexibility in mind, but let's look at the case for at least considering not generalizing them for the sake of it.

  • February 13, 2023

    Lead Great Engineering Manager One-on-ones

    After years of honing my leadership style, I've landed on a one-on-one format that I quite like. Here's a deep dive into it.

  • February 11, 2023

    If You Blog, Consider Blogcasting

    As someone who has been wanting to do a podcast but not having time for it. Blogcasting seems like a great middle-ground solution.

  • February 10, 2023

    The New Astro Content Collections are Great

    Astro 2.0 just landed, and with it some great new features including Content Collections. Let's have a look!

  • January 29, 2023

    Consider Astro over WordPress for your Brand's Website

    Are you a company looking to build a new website? As someone who built company websites for many years, I think you should consider not going with another WordPress site.

  • November 18, 2022

    We Need Context Management Systems

    Applying context to websites often lives tied to content, or tied to the front end, or split into both. Here I propose building a new contextual layer separate from both.

  • October 10, 2022

    Digital Entropy

    What eats at our code? A quick explorative rambling of why we have to maintain and invest in all code and digital systems.

  • July 13, 2022

    Build Momentum for the Next Thing

    A lot of focus remains on success and failure as traits of progress, but I've learned that it's really momentum that you should keep your eye on.

  • June 17, 2022

    Escape Hatches

    Third-party frameworks and systems abstract away complexity, but often at the cost of flexibility. Escape hatches can be a great way to bring flexibility back without compromising features.

  • June 14, 2022

    Do Hard Things Again

    It feels really great to get over a hard hurdle. But don't stop there, do it again.

  • June 7, 2022

    Use Vite for JavaScript Libraries

    More than once I've written some snazzy JavaScript code that I want to quickly turn into a sharable library, but the process of how to easily do that has bogged me down enough to drop the idea entirely. Here's a look at using vite to quickly publish your code as a JavaScript Library.

  • May 31, 2022

    Do it for Context

    Sometimes you need that little extra spark to go down a new pathway or face the unknown. When you're grasping for that push, do it for context.

  • May 29, 2022

    Blog Post Image Generator with HTML2Canvas

    Here's a practical look at using html2canvas to generate images for blog posts. You might be looking at said image right now!

  • May 24, 2022

    Progressive Enhancement with Petite-vue

    Rather than having to completely rely on the client to render your content when you want to make it interactive or functional, progressively enhance it with petite-vue.

  • May 20, 2022

    Work is a Place to Help People

    Reframing how you think about work toward a perspective of helping the folks around you can spread positive change at multiple levels.

  • May 19, 2022

    Accessibility is Hard and Important

    Two things about web accessibility that we need to stop letting hold us back.

  • May 17, 2022

    Sprinkling Interaction with Petite-Vue

    How do you sprinkle in interactive elements? For many of us it used to be jQuery, and now maybe it's vanilla JS or you've graduated up to a larger framework like React, Vue or Svelte. Here's my case for why you ought to take a look at petite-vue.

  • May 16, 2022

    What's Your Go-To Web Stack?

    If you had to build a website right now, get started right away, what web technologies are you reaching for?

  • May 13, 2022

    Diverge, Converge, and Repeat

    Divergent and convergent mindsets play a critical role in how I think of ideas and uncover solutions to problems. Here's a bit about why they're so useful to me.

  • May 12, 2022

    The Fourth Language

    Have you ever thought about the web having a fourth major, native language? Here are a few of my thoughts on it.

  • May 10, 2022

    Stop Leading Zeros with Leximited Notation

    Ever hit the issue where you want numbered items to alphabetically order themselves numerically, so you lead them with zeros, which works until you have more digits than zeros. Leximited notation solves this issue, and then some!

  • May 9, 2022

    What You've Done is What You'll Do

    A quick riff on an idea that has stuck with me for a bit and can really help if you lean into it.

  • May 6, 2022

    Building a Like Button with Cloudflare Workers

    Cloudflare Workers (Edge Functions) and their specialized KV product are the perfect tool to create a quick little API with persistent state.

  • May 5, 2022

    Throw the dart

    Don't get stuck for too long thinking about, just go ahead and throw it.

  • May 4, 2022

    Previews Are Hard! Also, Web Mullets

    A quick take on one of Jamstack's biggest hurdles it has yet to fully overcome: previewing content.

  • May 3, 2022

    Living on the Edge Functions

    Let's get a surface-level view of edge functions: what they are, what they're good for, and how you can get started with them

  • April 30, 2022


    Hello World! This is my first post on my new website and blog. Like and subscribe folks!