ATRIUMsearch → argument graph
ClaimVideo · 3:40 — 5:10

When AI writes UI code, you need to review it in smaller increments and pay much closer attention than you would for backend logic, because sloppy AI-built UI/UX (not broken functionality) is what makes so many AI-assisted apps feel bad.

Wes distinguishes reviewing AI-generated backend code (fine in large chunks) from UI code, which he checks in smaller pieces since bad UX is what makes AI-built apps feel low quality. ✦ AI generated

Wes Bos · Syntax · 2026-07-08 · original ↗

starts at this moment · 3:40

Elicited by

The problem I'm struggling with is whenever I ask an AI agent to create a component or any large piece of code, it takes me a considerable amount of time to understand what it wrote before I can make any changes. What advice do you have to help me better understand the code it generates?

But when it comes to actually building out the UI, I drill in a little closer and I spend a lot more time on it and do sort of smaller changes because I think that's why a lot of these apps feel like crap is because the UIs on them are just absolutely awful. They technically work well, but how you use them, how you interact with them, and what they look like is often leaves a lot to be desired.

verbatim transcript · starts at 3:40

Transcript · around this moment

3:40time on it and do sort of smaller changes because I think that's why a lot of these apps feel like crap is because the UIs on them are just absolutely awful. They technically work well, but how you [clears throat] use them, how you interact with them, and and what they look like is often leaves a lot to be desired. So, my recommendation here is just drill in and use it at a much

4:01smaller Hell, even go back to using tab completion if if you must for that type of thing. Other things you can lean on like Scott says is is lots of rules in there, example code, prompts over if something should be duplicated or not. I find that that's a really interesting one where >> Yeah. >> [snorts] >> you have two things that have somewhat overlapping functionality. In in some

4:26cases, you want to simply just duplicate them. And they're different enough that I just want to be able to have the code in this component and not have to like factor it out into some reasonable thing. In other cases, yeah, you want to like say, "Okay, here is a validation step or here's what we do when you upload an image, right?" That shares enough code that you want to

4:47you want to bring that out and put it into a utility library. I find that AI is not great at that. So, in that case, you just you should be making smaller changes so that you are more dialed into what is actually happening. >> Yeah. I mean, on the on the UI tip or on the uh utility tip, you know, one thing that I have in all of my agents files is

5:08is really just that like to create shared utilities in one location. And like here's a directory of shared utilities, always check to make sure a utility doesn't already exist. Like here's the place you're looking for utilities. Do not create one locally, create it globally, import it, and you use those global utilities because that way it's easier to check if it's creating like an inline utility function or whatever that it just uses once, it

5:34could duplicate that code 100 times. >> Yeah. >> Yeah. >> I think as you do more of this stuff, you'll get to a level of comfort knowing I'm I'm happy with this type of thing. I'm happy to like trust that the code generated is up to my satisfaction. I don't think you have to read every single line and absolutely know what everything is doing, but you should be

Around this claim