Connect your Claude, Codex or OpenClaw for full transcripts on millions of podcasts. Two week free trial, cancel anytime.

Start free trial →
CC Chris Coyier Chris Coyier A web developer known for building tools and writing for front-end developers, Chris Coyier founded CSS-Tricks, ran it from 2007 to 2022, and co-founded CodePen...

“As absolutely amazing as AI is, there's a tendency for it to craft its own little function for closing drawers. And you're like, whoa, hold on, buddy. Weren't you aware of our super cool drawer-closing machine?”

CodePen Radio · Hands-On Engineering Podcasts · November 2026

“As absolutely amazing as AI is, there's a tendency for it to craft its own little function for closing drawers. And you're like, whoa, hold on, buddy. Weren't you aware of our super cool drawer-closing machine?” — Chris Coyier, CodePen Radio

Context

Chris Coyier was describing CodePen's internal commands system, where every UI action goes through one registered command, which made adding WebMCP easy. His point is that AI left to write code on its own tends to bypass that kind of shared architecture.

Transcript

CodePen Radio
Chris Coyier

…would close all the drawers So, if any, you know, so commands can be like bundled all together too. So, if a command that needs to close the drawers, it's just in addition to whatever other stuff it's going to do, it calls the command to close the drawer. Anyway, it's just composing. Like these

Speaker 2

…it just kind of restores the default sort of layout via commands. So, it's all interconnected and it's easy to like chain multiple commands together. And then you still have all the niceties that come with that of the error checking and the validation and toast messages and that kind of stuff.

Chris Coyier

Yeah. I think that's a nice aspect to this. It's like it enforces a certain style of working that kind of makes sure stuff works. Because then, if you're like, if something else, you know, like, I don't know, the amount of drawers you have, maybe it needs to account for an extra drawer now or something like that. You never have to, you don't, it's not sprinkled all over the place. There's one place you update it, and then any command that needs to account for that extra panel or drawer or whatever can just automatically knows how to do that. It's like adhering to that is really good. And, you know, as absolutely amazing as AI is, I think there's a tendency for it to just be like, you're like, okay, you know, you'd write something in a prompt like, hey, you know, when this UI thing happens, make sure to close all the drawers. And it like crafts its own little function for clones and drawers or something. And you're like, whoa, hold on, buddy. You know, did you, weren't you aware of our super…

Speaker 2

also have like a lot of different ways that we actually manipulate state throughout the editor. Like, you know, we use Apollo, we use GraphQL for things. So, you know, those are often mutations, but we also have a lot of data stored in the cache that has to be updated and just stored there. And…

Chris Coyier

new file is definitely one of the commands that we have. And in the UI, it just, there's like make a new file like for the user, meaning like put a new file there where they can type in a name. I think it's also file

Speaker 2

entry in sidebar or something like that because it opens up this like, you know, name a file dialog here.

Speaker names come from our own diarization. The position is estimated from where the line sits in the episode.

More from CodePen Radio