When fixes keep making things worse


Hello Reader,

A couple of days ago, I talked about how CSS is designed for uncertainty, meant to adapt to unknowns. When we don’t think about it that way, we fight it.

And when we fight it, things get messy fast.

We add what seems like an innocent enough property, but it doesn't quite fix things the way we wanted, so we add another. Then another. Then another.

By the end of it, somehow, everything is worse than when we started.

Once again, there's a meme that does a good job of showing how this often goes.

This happens to all of us because it’s easy to get stuck in the “oh, this will fix it!” trap, but each fix needs another one on top of it. It’s like piling Band-Aids on top of one another while the bleeding just continues to get worse underneath them all.

And these days, a lot of people turn to AI when this starts happening. But AI tends to fight CSS the exact same way you do. We tell it we have something that isn’t working, and it adds a property or two. They don’t work, so we tell it to try again.

After apologizing, the AI tells us it now clearly sees the solution to the problem, only for it to mess it up again, apologize when we tell it it's wrong, and the cycle continues.

Whether we’re writing the CSS ourselves, throwing utility classes at things, or trying to prompt our way to a solution, we’re simply getting frustrated and often ending up with fragile, hard-to-maintain code.

From my experience, the root of the problem is that most people don’t stop to think about why something isn’t working. They jump straight to trying to fix it without understanding what’s actually going on.

When you don’t understand the problem, your fixes are just guesses.

The way out isn’t more properties, more utility classes, or more prompting. It’s a different way of thinking about CSS entirely.

And that shift is exactly what I stumbled into years ago, pretty much by accident. This email has gone on long enough, though, so I'll be back tomorrow with that 😊.

Cheers,
Kevin

P.S. I’ll be in your inbox quite a bit over the next week or so. If that’s not for you and you’d like to just get my regular Sunday emails, click here to opt out of these extra emails.


Unsubscribe · Preferences
600 1st Ave, Ste 330 PMB 92768, Seattle, WA 98104-2246

Hi! I'm Kevin

Weekly newsletter, where I talk about tangentially-related front-end development topics and share what I've been up to in the last week, plus any cool/fun/interesting/useful links I come across as well.

Read more from Hi! I'm Kevin

View this email in your browser (or share it with a friend!) Hello Reader, Earlier this week, I posted this on Bluesky. I’m not panicking about the talk itself right now, but as I’ve spent time working on my talk this week, imposter syndrome has hit hard. I know for a lot of people, and especially with newer developers, I’m either the person or one of a handful of people they think of when they think of CSS, so it might seem a little crazy for me to be having imposter syndrome, but boy is it...

View this email in your browser (or share it with a friend!) Hello Reader, In the last three days, I’ve created more content than I usually do in one week (and no, don’t worry, I’m not about to try and sell you some productivity system 😆). As I sat down to write this, I wondered what I had done differently to get so much done, and at least some of it was due to a small tweak I made to my workflow on Monday. I won’t bore you with the details, but I want to talk about the idea of removing...

Selfie, standing in front of a canal in Amsterdam

View this email in your browser (or share it with a friend!) Hello Reader, And I’m back from Smashing Conf Amsterdam, where I had an absolutely wonderful time! Amsterdam is such a beautiful city Amsterdam is one of my favourite cities to visit, and Smashing knows how to put on a wonderful conference, so I had high expectations in combining the two, and it didn't disappoint 😊. As for my talk, it went great… and what an amazing venue to speak at! The Pathé Tuschinski theatre As for my talk, the...