March 11th, 2026 ×
Does Code Quality Matter Anymore?
Wes Bos Host
Scott Tolinski Host
Transcript
Wes Bos
Welcome to Syntax. Today, we got a potluck episode. You bring the Wes. We bring the answers. We got a couple really interesting questions today. First of all, I'm gonna give you an update on my second brain update, which is my, like, note taking slash I need to remember this. I need the easy way to log all of these pieces. I've made some progress. I'm pretty happy. I'm gonna share that with you. Pop Vercel and dialogue for navigations. Is that the move? Does code organization even matter anymore with AI? Can we just put a whole bunch of slop into our repo and it doesn't even matter? Do you need a layout system with Flexbox and Grid? You Node? Like, before, we used to have all these layout systems, and they don't seem to be that popular anymore. Do you even need something like that? And whole bunch more Wes, effect.ts, some stuff about supporting older browsers and new CSS features, all of kinds of good stuff. If you've got a question, go to syntax.fm.
Wes Bos
There is a button in the nav that says ask a poll a question. Click on it. Put your question in there. We'll answer it on an upcoming upcoming episode. My name is Wes Bos. With me, as always, is Scott Tolinski. Let's get into it. Alright. First question here from Alex. With dialogue and popover available to us, I understand that we don't need to use JavaScript to toggle a navigation anymore.
Scott Tolinski
But are we now back to using a display none or similar on the button if the navigation is hidden behind a hamburger menu on smaller screens, but spelled out on larger
Wes Bos
screens. Are we back to using a display none or similar on the button? What button talking about, like you got you have, like, a nav that slides out from the side, and then you have a hamburger button, and you press that and the thing slides. On on Yeah. Like a desktop,
Scott Tolinski
you're not showing the hamburger menu. Right? You're you're simply just, like, hiding it. Yeah. But what are we what are we saying? Are we now back to isn't that how we've always been doing it even I I think so. GitHub this technique? Yeah. So to me, this is a nothing issue, a nothing burger, because to me, yeah, this is just how I've always done it.
Scott Tolinski
And I do love the idea of using dialogue or popover or any of these things to toggle a navigation.
Scott Tolinski
I actually did a demo for that at JS Nation a while ago.
Scott Tolinski
A JavaScript less hamburger menu slide over that whole thing with the animation. You can use, the starting style. You can use allow discreet.
Scott Tolinski
You can animate these things. And and granted, the browser support isn't a 100% yet, and it's not something that's gonna work on older browsers. If you're asking me, we have these techniques, and they do work with popover and everything like that. But at the end of the day, I'm still most likely doing this with either CSS to, JavaScript and CSS to apply a class just for backwards compatibility reasons. That's pretty much how I'm doing it today. I think the future is with popover and dialogue, to do these things with starting style, allow discrete, the CSS properties that allow us to animate something when it goes from display none to display whatever.
Scott Tolinski
And Mhmm. To me, that is the future, but I'm still using JavaScript in class to apply that class Yeah. Today. Plus, I think most complex websites
Wes Bos
at this moment are having double NAVs simply just because it's so hard to make a decent mobile NAV that's not super overwhelming.
Wes Bos
Mhmm. And people are simply just saying, alright. Well, on mobile, our NAV JS gonna yeah. It can look a little different, but, like, sometimes there's simply just less stuff in the navigation that needs to be shown. So people are just rendering out two different navs, hiding and showing them depending. But kinda related, I wanted to ask you about this. I just saw this yesterday.
Wes Bos
When you're using Vercel on iOS, tapping some of the, like, tabs, it now uses the Vibrate API, which I had no idea. Mhmm. IOS now has haptics, meaning that you can make the like, you can use the little thing inside of it. Did you see that?
Scott Tolinski
I I didn't see that because I don't use Vercel on mobile. But I I I do know about this haptics API, and there is I'm trying to remember what it is. There is some app that I use on the regular, and when it wants my intention when it wants my attention, it does do that buzz. And I like it, because I don't have sounds turned on. And if it needs to get my attention, I think it I don't know what it is.
Scott Tolinski
Man, what is it? What I'm trying to remember what web app specifically it JS, but it does. It gets my attention the moment just with a little button. And gotta say, that's nice because it's not sound. It's not making a, you know, sound on my phone or something like that that I might miss because I always have that stuff turned off. Yeah. It certainly can be abused, and I'm curious now that it's it's in iOS if people are going to abuse it. But, like, on I absolutely love it on native apps, like on, ChatGPT
Wes Bos
JS the response starts to starts to stream in. You couple little quick little things or if something doesn't work. The way that it works, though, is absolutely nuts JS an input type of checkbox with a switch attribute on it.
Wes Bos
That triggers it. Yeah. So you cannot there's no programmatic, like, navigator dot vibrate API working, but you can turn a switch that is hidden on and off many times, and that will make the vibration go on and off. I bet they're gonna take that away because it's just it's too good for Apple to let us have that. Yeah. And this is an Apple thing because, Chrome on Android does have a NVIDIA app Vibrate API Yeah. In the Wes standards. Make that clear. Yes. Would have made way too much sense to use. Would have made way too much sense. And, of course, it's on, Chrome and Android because they, actually implement the web APIs. Yes. Be great. Yeah. Next question. Krasimir says Node quality. I hear more and more that people saying that if AI is reading and writing the code, we may not need to make it so well organized. So far, we are making sure that the code is well written so that we can maintain it and understanding it. But now since a robot is doing that, like, do we do we really need to to have well written code? Certainly.
Wes Bos
I do care a lot, and this pisses me off a little bit because it sounds like we are outsourcing the brain job to the machine and only focusing on output. So the question here is, like, does it necessarily matter that some of this code is is ugly, is maybe spaghetti, is is, like, duplicating code over and over again. You know? Like like, one of them that that gets me all the time is that you have AI generate some CSS, and it puts, like, a font size and a line height on absolutely everything. I mean, you you wrote that nine times over and over again. And some people are saying, like, it doesn't matter. Like, it will update those nine places where where you have the line height. And I don't think that's that's a very good good way to go about it. I think, eventually, these these things are going to rot. It's not gonna update something in the right spot. Things are gonna change a little bit between the two. And we still need to think about, like, performance and and how this code writes.
Wes Bos
And a big part of how these AI tools work is discoverability of the code, meaning that it might use, like, a, like, a TypeScript LSP, the language server. It might, like, look at this function, and then it can use the LSP to figure out where that function is called. And it can sort of just crawl out and and look at your code Bos from that rather than just doing, like, raw searches on your code base. And well written, well organized code is is that. Right? So I still think this matters quite a bit. I've I've certainly have been in many code bases where you just let AI do its do its thing, and then you come back to to change something. And, of course, you have to understand it. It's it's very frustrating. But
Scott Tolinski
once this thing grows to a certain size, it's very frustrating and very hard to to sort of get a handle on it. Yes. Yeah. I I I think now more than ever and Node not maybe not more than ever, but this is so important. And and, actually, CJ and I have just been talking quite a bit about this. We were just talking about it yesterday.
Scott Tolinski
But, like, to me, yeah, that that whole argument of, well, the AI will just update it everywhere, dry code becomes less important. That sucks. I hate that because, anybody who knows anything about working in AI is that it always starts off really well. And then as the project gets bigger, it starts to get worse and worse and worse because that context bloat, because there's too many things, because there ends up being drift. And this is a thing that CJ and I have been talking a lot about. Like, what are we doing to solve this? And we have some really fun ideas or some stuff Wes we'll we'll talk about, in the future here. We're working on a a video together right now. But I think this is important because that organization, that steady structure, that, that lack of drift and everything like that is going to Yeah. Really make your projects more maintainable over the long run. And I I do agree about outsourcing the brain job. We can't outsource the brain job. That brain job is our entire, like, role as if we're vibe coding here. And if you start to outsource that that brain job, what are you even doing? Like, what you might as well just be, you know, hitting enter on a keyboard and and Yeah. You know, slopping it out. So Not much there. And,
Wes Bos
like like, one more thing to say about that is I was thinking the other day how we've gone from AI is good at making stuff from scratch, but not that good in, like, existing code bases. But I'm starting to feel the opposite, where, like, of course, you can spit something out, and it'll it'll make something from scratch. But, like, I was putting it in my course code Bos, and I said, like, hey. Move this thing. Like, something I've been wanting to do force forever is move from Express to Deno. And I've been writing my code in, like, web standards. Like, all of the new stuff for the past probably two years, I've been writing it all in web standards.
Wes Bos
And then I was like, you know what? I'm gonna, like, throw an agent on this and say see if, like, like, what it can do. And it, like, it picked up. It says, ah, I see you already have been writing some of this code in web standards, which is the APIs versus, like, the express way of doing things. Allow me to just to go ahead and and do the rest of it for you and and convert it over. And I was like, man, it's so much it did such a better job given nice, clear, concise examples and, like Established patterns. Structured, established patterns, all of that stuff Vercel just, like, letting it rip. And it it used to be the opposite, but now it's just like, oh, that that was code that I probably would would have written myself, and I'm glad that it it did it exactly the same way as I had been writing it for the last two years. Yeah. I've been finding the same thing. They've gotten a lot better at those aspects for certain.
Scott Tolinski
Next one here is an update on second brain from Wes. I I would imagine, you've been talking about your Obsidian journey, about how you're working with Obsidian to catalog data and things like that. And
Wes Bos
Yeah. Somebody wants an update here, and let us know what you're asking. What are you doing here? Put this in here. This was not a question. Asked your own Wes? My own I wanted it's my podcast. I'll talk about what I want. But, basically k. Like, a couple I don't know. Maybe about a month ago, I asked, like, people, hey. Like like, what are you using for Scott necessarily just notes, but as, like like, a place to put something? I I said, like, I specifically want to when I have something that I need to remember, I wanna just dump it into some sort of system and be able to recall that and have it like a like a second brain. Right? And I, specifically, in my life, I have that for just measurements. Like, we have these windows at our cottage, and there's a specific measurement of them. And every time, I'm like, oh, there's blinds at the store, and then I can't find it. I'm like, did I put this in markdown? Is it in my Apple Node? Is it in my email? Did I text it to myself? Did I text it to my wife? You know? I just can't find it, wherever it is. And then I have that with, like like, links for the show and just just random stuff in my life where I'm just like, I need to remember this. Where do I put this? A lot of people messaged me and said, dude, you gotta you gotta give Obsidian another try. And I have I've tried the Obsidian note taking thing from for many, many times, and it's never really stuck. I've just been, like, a straight up markdown in a folder kinda guy, which is, like, 80% of what Obsidian is. Yeah. But I decided let let's give it another shot to to see where it is. Right? So I took, I don't know, probably ten years worth of my markdown notes, and then I spun up a cloud code instance. And I said, like like, convert these to, like, an Obsidian vault.
Wes Bos
So I created a vault, and I put some some things in there. And it just kinda analyzed it all and then organized it and and made the different categories and tags, and then it it figured out who the meetings like, I have lots of meeting notes with people, you know, and then it it tagged the people that I had the meeting notes with. And I was like, okay. This is I don't want a full time job. A lot of these, like, note taking people are just, like, their whole personality is taking notes.
Wes Bos
I'm not into that. Right? I just needed, like, a good system that that will help me. So it it moved all of that stuff over to an Obsidian vault, which I was very happy with. And then I also I hooked it up to my OpenCloud bot. There's a whole Obsidian CLI that you can use Node.
Wes Bos
And I've just been like that's the perfect interface for I need to remember this at one point. And I'll just type it into like, make an Obsidian note that logs x, y, and z. And one thing that that I always do is is clothing sizes. You know? You you like, oh, I wanna buy this shirt.
Wes Bos
Do I need a a medium, a large, an extra large? You know? What what size is your chest? I don't know. And so what I did is I told it to make, like, I don't know what it's called, but it it's kinda like Notion where you can create extra properties that are associated with everyone. So I Oh, okay. I just went through, like metadata for matter? Yeah. Yeah. Exactly. And so I was like, I just want I grabbed, like, five or six of my shirts that I like, and I just measured, like, the arm and the chest and and all of this stuff. And then I also gave it notes as to how it fits, if I put a hoodie underneath it or if it's, like, a T shirt.
Wes Bos
And then I've just been able to, like, have that data in there where I can reference it myself. But I can also ask, like, my open claw being like, hey.
Wes Bos
Here's a shirt I'm looking at. Here's the sizing chart. Which one do you think will will fit me best? And that to me is such a like, I know people are always like, this open call stuff is stupid. There's no actual use cases for it, which I'm I kinda I'm kinda onboard there. But this is one thing where I've been, like, really happy with it. You know? And then I can, like, send it eventually, what I wanna get to it is I can I can just send it screenshots? You know? You can just sometimes I'll screenshot stuff. I'm like, I got I gotta remember this.
Wes Bos
I would love just to, like, share that screenshot into some sort of system, and then it will, like, OCR it, maybe go to the web page. And then the final piece of this is, QMD, which is from Toby, CEO of Shopify.
Scott Tolinski
Nice water bottle. Woah.
Wes Bos
Madcss.com.
Wes Bos
Make sure you you check that out. You can you can grab one of the water bottles. You can grab one of our bombers if you want. Anyways, QMD from Toby. So this is a kind of solves the, like, memory issue with a lot of these AI things. And what it does is the QMD will search all of your markdown.
Wes Bos
So you can you can give it all of your your markdown documents. What it does is it takes all the sentences from each of those markdown and and vectorizes them, and then you can run, like, a vector search against those. So, like, if if I were to, like, have a note on, like, shirt size, and then if I were to to later do a search for, like, coat measurements, even though those are not the same words, they're they're similar enough. You know? The Mhmm. The when you vectorize something, it it turns it into a mathematical representation on all these different axes, and then you're able to, like, find things when you're not just doing straight up, like like, text search. So it uses vectorization, and then it also uses a couple different other ways to query it, and then it will rank them for you.
Wes Bos
It works really well. You can hook up your cloud bot to use this instead of the the built in memory. And I was surprised at how well this work. It doesn't do, like, images or video or anything like that, which I I hope it will eventually support. So, like, ideally, I would just search, like, screenshot of, Twitter conversation or something like that, and it it would then pop up. But I feel like I'm on a pretty good, like, space now with Obsidian, QMD.
Wes Bos
I have it running on a laptop over here, so I can just do it from my phone, or I can, I can do it in the Obsidian app? I can message the bot. I can do it on my desktop. You know? I feel like it's in a really good spot now. So that's my update on my second brain right now, and I'm I'll I'll update as I as I get better at it. Yeah. I do the same thing. I've been using Obsidian forever and ever, and I I like it so much more than Notion. I I get so annoyed with Notion every other day. If I could have a better real time kind like, that would have no hesitation in dropping Notion.
Scott Tolinski
Now granted, I I couldn't make that decision, for the whole team because I'm sure there'd be so many edge cases and bugs. But, like, for me personally, my personal use case, I love my Obsidian setup, and I have been doing the same thing. And I do think, like, OpenClaw is a or any kind of local agent, whatever system, is a good way to interact with Obsidian. One feature that I really like in, Obsidian, if you aren't using it, Wes, is the daily notes feature Wes it creates a new file every time you open Obsidian for that day.
Scott Tolinski
Okay. In that way, I just kind of tag everything, and I just do brain dumps in those files. If I'm having one on one meetings, if I'm having meetings in general, something I need to take notes on, it pretty much always just goes as a tagged thing inside of the daily notes. And then, obviously, you could then if you wanted to use AI to whatever later, but just having those tags in there makes it really easy for me to just use those, daily notes as a dumping ground for stuff that I don't want a full on markdown file for of everything.
Scott Tolinski
Yeah. I use a number of different would you believe I actually made a custom theme for,
Wes Bos
Obsidian, Wes? I would. I I actually made a Cobalt two one probably three or four years ago, and I I was surprised. I when I when I came back to it, I was like, oh, yeah. I made the a theme for this. I, like, Googled Cobalt two Obsidian, and I was like, I wonder if anyone has done it. I did it. You did it. Well, maybe we should because I could go I could go all day on Obsidian. So maybe we should have a full on episode about that because I would love to share some of my favorite tips and tricks as well as, like, show off my setup a little bit. I think I yeah. I agree. Because there's so many more things I would like to fix about it. And then also, like, the sync thing, I'm using iCloud, which is is way too slow. I want it to, like I know they have a paid product, Obsidian Sync, so we we'll do we'll do an episode on it. So let us know. What's your number of self hosted sync?
Scott Tolinski
Yeah. Yeah. Sorry.
Scott Tolinski
Sorry to hear you off. Yeah. They're not they're not easy to set up. I'll tell you that. Oh, I don't mind that.
Wes Bos
Give me something that's hard to set up and and flaky.
Wes Bos
Sounds like my my thing to save $4 a month.
Scott Tolinski
Yeah. Yeah.
Scott Tolinski
And if you want to see all of the errors in your application, you'll want to check out Sentry at century.io/syntax.
Scott Tolinski
You don't want a production application out there that, well, you have no visibility into in case something is blowing up, and you might not even know it. So head on over to century.io/syntax.
Scott Tolinski
Again, we've been using this tool for a long time, and it totally rules. Alright.
Scott Tolinski
Next question here is from I just made this one up. Not really a question, but maybe a topic for discussion.
Scott Tolinski
Awesome podcast, by the way. Yeah. Let's actually just let's discuss how awesome the podcast is, Wes. Very good. That's the discussion. Now, I often get envious when you mention new JavaScript and CSS features and state that you can safely use them. I mean, sure, if you develop a site, which mostly devs use, and that's true, But if you work in the industry, bank insurance or whatever, you have to support older browsers as well. I'm not talking IE six. Thank god.
Scott Tolinski
But for the example, older Safari versions would still make up a large amount of traffic. Yes. I will absolutely acknowledge that we are spoiled as hell over here.
Scott Tolinski
I'm not making anything that needs to be in that ecosystem.
Scott Tolinski
And because of that, I get to use the the latest and greatest even to the popover question earlier. Right? Yeah. I'm absolutely aware of that, and I am sorry for anyone that has to support all the older stuff. But you know what? I spent most of my career supporting IE six and IE five and stuff. So if you haven't had to support IE five or IE four, in your career, then, this is this is the, what you what you gotta do now. But It's much better.
Scott Tolinski
It's much better. And granted, so many of these things, like, pnpm over has a great polyfill Yeah. That you can use that polyfill.
Scott Tolinski
So many things do exist now that you can just polyfill them away. How do you feel about the current state of of this, Wes? Because to me, we still have the concept of progressive enhancement of your users on older browsers should have a working experience.
Scott Tolinski
I mean, you can you can make that experience nicer for your,
Wes Bos
more modern users as well Totally. Through progressive A lot of this stuff is you can write it in such a way where you fall back, you progressively enhance.
Wes Bos
Like, one example is on the the mad CSS website. There's like, the navigation up at the top is, like, kind of these tickets.
Wes Bos
And I've I used the new CSS feature corner shape Scott. Yeah. Which allows you to, like, cut out the corners. Yeah. Big fan.
Wes Bos
Only on Chrome and and Edge right now. Not in not in Safari, not in Firefox.
Wes Bos
And someone was giving me crap for that because, like, I was like, it looks in my opinion, it looks fine with just regular rounded corners on Safari. I ended up going back and using, like, a CSS mask and then just punching out the corners. It's not the exact same experience, but in my opinion, it works great. It looks good. It it looks good on all the browsers, and then most of our traffic is is going to be on, like, a Chrome based browser, and and and they're gonna get the best experience. So in my opinion, that's fine. I wrote it in such a way where you can just remove those at at supports queries in your CSS eventually, or you can throw a polyfill in there in there. Not a big deal. Some of this other stuff, yeah, you simply just have to wait for for it to be supported in this. And the probably the biggest one is Safari iPads because, like, people get an iPad, and then they have them kicking around for, like, ten Yarn.
Wes Bos
And and, like, they don't necessarily care to upgrade because it they have their email, they got their their Safari, and they got their Netflix. And there's a lot of people that are simply just happy with their iPad.
Wes Bos
And Apple does not update these old iPads, so you got old versions of Safari. That's, like, probably the biggest killer
Scott Tolinski
for all these new web standards things. Even not even just old iPads, iPads in general. My buddy, Topher, who's who's been on the show before, he said he his, like, main computer usage these days is iPad, and then he's remoting into other things. And it's just like, oh, that's that's great. And I love I love the speed and and some things about the iPad, but I could not live with Safari on the iPad as my main browser experience in 2026.
Scott Tolinski
Could not live that way.
Wes Bos
No. No. Simply how slow it is to copy and paste text is just I don't understand how people do that full time. But, like, the feature supported on that Safari are are great. I was talking to people who said, we have to support the last two major versions.
Wes Bos
Like, that's their new mandate at their company. And and with Safari now releasing a major version per year, that means they have to support, like, two year old browsers, which is kinda weird, but maybe maybe okay. You know? Like, this stuff, you can't have, like, rules for this. You really just have to, like, look at your stats for your traffic and then pipe that into your, like, can I use or or pipe that into your browser stats and say, like, are we allowed to to to use this new Scott feature or whatever, or or do we need to wait until everybody catches up?
Scott Tolinski
But, man, things are a lot better. Things are way better these days. We get a number of, things coming in on Century of, like, this feature is not you Node, this API that we are using isn't supportive. That that error result in a console error on our Sentry, and then we just fix it. We we wire up a polyfill or we whatever. So if that's the type of thing that you want to have a handle on of what your users are actually using your your stuff on, I mean, Sentry is a great tool for that. Because not only that, you're getting to see what aspects of your app are slow, what aspects of your app have issues in general, what aspects of your app. And when you see these things, you can click and see what exactly that browser is. And maybe you're only getting one or two users with those issues and whatever, but, you know, it depends on what your tolerance is there. But yeah. Some of the hardest bugs I've ever had to fix have been they show up on my Sentry, and it just I just go like, oh, what
Wes Bos
like, where is this happening? Where could this possibly happening? And you go in the sidebar, and you say, it's happening on iPads or it's happening in Safari, this weird version, which is really hard to run old versions of Safari.
Wes Bos
If you have a Windows, you're out of luck. If you're on a Mac, there's no way to run old Safari. You have to go and download you have to go download, like, an iOS emulator on Xcode that is a older version. And luckily, the versions of desktop Safari and iOS Safari are are very, very close.
Wes Bos
And that way, you can replicate the bug and and go ahead and fix it.
Scott Tolinski
I will say that that root cause, seer, which is, like, Century's root cause analysis AI tool, is so good at this stuff. Because when I have an issue and it's like an error and it's a weird error, maybe something I haven't seen before, and then Yeah. I do the root cause analysis, and it's like older versions of Safari have this issue. I'm like, okay. That makes so much sense. You know? So shout out to centurycentury.io/syntax.
Scott Tolinski
Send them get two months for free. Yeah. This podcast is brought to you by Century, but that's on this whole thing sounded like an ad, but legit,
Wes Bos
this is a useful tool in this. An ad. So but it was a good we should use it. You should use it. We Yarn sorry. We should use it. We do use it. I use it I've been using it for probably ten years now. It's fantastic.
Scott Tolinski
Yeah. I will say, we did get a question in our our inbox here that was like I don't know if you guys would do this because the episode might seem like an ad, but you should do an episode where you're detailing your Sanity setup. Folks, would you like to actually see that, or would that feel too much like an ad? Because, like Wes, I have been using Century for longer than I can remember at this point. I have a ton of projects on Century. I use all of the the tools and stuff like that. So if that's actually something you'd be interested in, leave a comment below. If that feels too much like an ad, then we don't have to do that as well. We can always make a little side video on it or something
Wes Bos
on my personal channel. Next question from Ray Garza says, what do you do if you run into a website that is visually bad or has severe accessibility issues? This is not a one off-site. It's something I visit very often. Do you try and contact them, or do you just ignore it? Man, this this drives me nuts. There's a website that you have to go to, I don't know, six or seven times a day or or, like, I don't Node. Like, you you you have to log in to your accounting or something, like, once every month, and there's just, like, these issues where that drive you absolutely nuts. In many cases, I will flip on a screen recorder and simply just show the the bug happening, or or show the accessibility.
Wes Bos
It's probably even bigger if it's an accessibility issue because that company can get in trouble. There's, like, people out there that will find websites that are not accessible, and then they will they will sue you. And a lot of them are are well meaning, but a lot of them are also, like, ambulance chasers as well. So there's a there's a bit of an issue there if if your website is not accessible. So what would you do? Yeah. I flip on a screen recorder. I kinda, like, just detail it. I do this all the time for people's websites, and I I'll I'll, like, usually preface it by saying, like, hey.
Wes Bos
Feel free to throw this out. Like, I'm I'm not trying to be obnoxious. I don't need an update on it. But, like, if this is helpful for you, send this to your dev. Here here is a a problem that I'm specifically running into it.
Wes Bos
And sometimes that is the the best feedback for people because they they're not using their own product in that way or they don't necessarily have those issues. And if you can just detail it nice and clearly and and speak in terms that the developer can do, it can be very helpful, and you can just send that along.
Scott Tolinski
Yeah. I I I agree to this to some ESLint, and then other times, you are going to be screaming into a void. I think it depends on what what Yeah. The company is.
Scott Tolinski
We had a very fun rant section against the well, I was ranting. Wes was just cracking up at the, the awfulness of the OptumRx website. And I can guarantee you, if I were to attempt to catalog even one of their numerous thousands of issues on the OptumRx website, that they would not give two about it. So sometimes there is that. You know? You just you're not gonna get any progress on there by making that. And it's just like, I I would save my energy, but I would also take into stock which which companies do you think are actually attempting to make their product better and which ones are just,
Wes Bos
pushing out garbage tea. This is this is something that I hope AI will actually fix JS is just, like, listening to people complaining about their product and then being able to distill that down or possibly even fixing it in their code Bos. Because sometimes it's just these little problems Wes, like like, one of them is I visit a website several times a week where my one password autofills, but it doesn't trigger it until I put a cursor in there, hit a space, and then backspace.
Wes Bos
And then it goes, ah, your password is good. You may now click the button. I'm like, I know, but my because you're listening for, like, a key up ESLint.
Wes Bos
And Wes I use a password manager, it doesn't trigger a key up event. So now I have to, like, manually go and trigger a key up event, and this is so annoying. And, like, this is probably, like, a ten second fix Wes you just listen for, like, an input event instead of a key up event additionally, and and then you could you can run your validations and check it all against it. And, like, that would probably be a ten second fix. The AI could probably by the time I've done this, send us AI could have that fixed.
Wes Bos
And I am looking forward to that world where where this this happens. I'm gonna be honest. If we die you know, right now,
Scott Tolinski
if the craftsmen behind these apps aren't good enough to to craftspeople behind these apps are not good enough to create them right now, what makes you think they are going to take two seconds to type into a chatbot and say They're not going to. It's going to opt this is this is what Ben Ben's modem is. And so Ben Benninger used to be the manager of Syntax. He's working on a startup called Modem, modem.dev,
Wes Bos
and it's doing exactly this. It's it's listening to all of the sources of of feedback of of your users, And it it will say, ah, people are complaining that, like, password autofill needs, like, a key up event. And then if you go to your code Bos, ah, I see. We can add an input event instead of a key up event. And then, ah, here's a pull request for that type of thing. Like, for a dev at a large company, they would have to have a meeting, and they would have to get approval, and and they would have to, like, delegate and put story points behind it. And for them, it's just it's not worth it. You know? It's it's a ten second fix, but probably three three days of of fussing.
Scott Tolinski
I still think that would require somebody to care.
Wes Bos
It don't why? I think a lot of these devs do care, but it's just, like, it's just so it's just too hard. It's too hard Yeah. For for them to, like, care that much. You know? Yeah. And, like, they don't wanna have to talk to a manager about input events.
Scott Tolinski
So next one is effect. Effect, if you don't know, at effect. Website is That's a library for, working effectively in TypeScript.
Scott Tolinski
It's intense.
Scott Tolinski
Effective oh, yeah. I didn't even I didn't do that on purpose. We've talked about effect a number of times on here. It it's one of those things where you look at it. You're like, This this looks interesting, but it also looks like a lot.
Scott Tolinski
So the question here is, I've recently tried it out, and it's been great. It really does show the power of the type system of TypeScript, but I cannot deny the learning curve. Trying to evangelize this is probably what folks spreading the word about RxJS felt back in the day. But unlike RxJS, I actually see the value add. Any thoughts? Effect is one of those things I look at about every two weeks and think, yeah, I should give this a try. And I I I think for me personally, effect becomes more interesting with AI and vibe coding than it does without it because I'm gonna be honest. I don't wanna write all this code to do this stuff. This is a lot of extra code to do this stuff, but it is one of those things that I think will be effective or would be effective for AI apps because there it stop laughing every time I say effective. That's that's the yeah. You cannot say a great job explaining it. Yeah.
Wes Bos
You think I'm not doing a great job explaining it? No. I I mean, you're you're you're saying it's effective.
Wes Bos
Go ahead.
Scott Tolinski
It helps you write code without bugs.
Scott Tolinski
It helps you write code that handles errors better, interruptions, async, synchronous Node, composition. It but it is very Rust like in its API.
Scott Tolinski
It is intense. Yeah. There's a lot of extra stuff to do, stuff that you're used to doing with less code in straight up TypeScript.
Scott Tolinski
And because of that, it feels daunting to write by hand for me personally.
Scott Tolinski
But as I've gotten more into AI coding, I have been swayed to say, let me let me take some time for this. The only thing that I the only reason I have it is because it requires a lot of buy in, and Yeah. I don't have the time or the projects to deal with that buy in at this point in time in my life. Like, a lot of your, like, lower level
Wes Bos
business logic, concurrency, error handling, all of that stuff, like, that you've you have to buy in to effect at a very early level of your project. And I've I've also like, go to effect. Website, and, like, I understand it. I totally get it. It's the same thing with with RxJS as well. The people that that use it are just like, this is the best thing ever.
Wes Bos
We don't have as many bugs. This thing flows really well. There's great concurrency, amazing error handling, retrying, but it's just if you look at the code, it's just like, I I don't know. I'm I'm tired even just just looking at this this type of thing, and it it requires such a brain shift that I think the most regular developers are probably not willing to to take on.
Scott Tolinski
I have no doubt that it would be useful.
Scott Tolinski
I have no doubt Yeah. That I would probably like it to some degree.
Scott Tolinski
But even, like, back when, Redux was becoming the thing and I always just felt like, yeah. It's a lot of stuff to do what I'm trying to do, and, that turns me off a bit a bit even though it it is really neat.
Wes Bos
Node says, I'm an experienced Rails developer interested in building full stack apps within the JavaScript ecosystem. Ecosystem. Since Rails is mature and standardizes conventions in all aspects of full stack application, I'm finding it challenging to know where to get started in the JavaScript ecosystem. For example, in the Ruby ecosystem, it's pretty much just Rails if you wanna build a full stack app. However, in the JavaScript ecosystem, there are many options such as Next, TanStack, Remix, Redwood SDK, and Astro.
Wes Bos
Not only and, like, that that is only, like, the full stack, like, SPA framework. You know? Like, that's just a small part of our our JavaScript ecosystem.
Wes Bos
Not only that, but the additional burden of having to choose between tools. For example, do I choose Prisma or Drizzle? What about authentication? There's like better auth is a successor.
Wes Bos
The list goes on and on and on. I recognize that each project and team will be different requirements and ship.
Wes Bos
What do I do? This is a very, very, very common complaint in the JavaScript land of, like, where's the Rails of JavaScript? And every time we say this, everybody comes out and says, you need to be using Wes. Js or there are several other, like, things in our ecosystem that are tip to tail, absolutely everything.
Wes Bos
And I always ask, well, why are people not using that? Like like, why don't people use that? And it's because JS a JavaScript ecosystem, we prefer to pick and pull all of the different pieces together to to build our own stack, which is sometimes great and and sometimes really frustrating. So what what do you do in this situation? Right? Prioritize stability.
Wes Bos
If this is a brand new thing that has not yet been totally figured out, stay away from it. Because, like, Scott will tell you, with Deno sync, as amazing as zero sync is, it had, what, two or three major API changes, and it it's been been kinda hard to switch from one to another. Right? Yeah. Yeah. Totally.
Wes Bos
And Something that he would like, though. Like, that's not bad for you, but it's if you're looking for something that is Oh, yeah. Stable and long running,
Scott Tolinski
probably not. 100% right. And I I am the worst person to give advice there on this type of thing because I I, like, totally, am quixotic on those those elements of it Wes I'm like, that's no big deal. The whole API just changed. There's no big deal. What what's that? A day's worth of work? Like, that's not realistic warp.
Wes Bos
Like So stability, maintainability, is it is it well maintained? Right? Like like, where are we at with it? Is it standard space? This is the big one for the JavaScript ecosystem because so much of what we do will simply just work together because these things are built upon web standards, you know, request, response, fetch, all of the standards in JavaScript. If these things are built together and built on a standard, the fact that you you built your API in in Hano and doesn't necessarily matter that much because 98 of your code will be movable to Mhmm. Like a SvelteKit server handler because they're all built on on these standards. Right? So that to me is probably the the biggest thing here JS that if I need to move, will I need to have a massive rewrite, or will the fact that I just use web streams and and uploaded a file as multipart, will that just work? Right? Modern Sanity, does this support the later features that I need? That's a good thing to ask yourself. And then, like, docs and and popularity.
Wes Bos
Is this project big enough that I will be able to to get help in AI? Others, like, my personal website is on on Wacu, and I was upgrading it yesterday. And and I hit a whole bunch of problems with it, and and I I had opened up bugs on the GitHub repo and and say, like, this is how it is. And it's just like that framework is not as big as some of these other ones. If I had built that on on Next or on SvelteKit or something like that, I bet that I wouldn't have had those issues because somebody ran into it first, or I would have been able to find, like, a GitHub thread where somebody else has hit it. But in this case, I'm, like, creating threads on Discord and and whatnot. And I'm okay with that, but I would probably not bet the farm on, like, an alpha version of some software for a larger company with a bigger team. Right?
Scott Tolinski
Totally. I I it's it's totally what what your your tolerance is there, but also, like, not just your tolerance, but your the practicality of it all. It is funny that, like, when we were we had an episode recently about Electron, and a lot of the comments were like, Electron sucks. Use this brand new thing or use Tori or use this or that. And, like, I I'll tell you one of the big downsides.
Scott Tolinski
You could tell this, the feedback to that episode, drove me nuts a little bit. But one of the things is the ecosystem there. Right? The amount of times that I found things like, in app payments or various, like, little little APIs that, like, weren't mature enough, not because those systems are bad. In fact, I quite like Tori. Tori JS not bad at all. It's it's great. But the ecosystem is so much more mature on Electron that you have to look at that. That is a big component to it, which is why I choose to use the most niche, whatever things at all points in times on all my projects. So, I will say I right, Wes, I will you believe that I recently built an app with React?
Wes Bos
Woah.
Wes Bos
How come? Are you coming back?
Scott Tolinski
No.
Scott Tolinski
Wow. Hell no. Because I I wanted to use Remotion.
Scott Tolinski
That's why. And, also, I'm not writing the code. This is a vibe coded thing, so I don't actually have to look at the React code. So but I had that's the first one I've I've touched and Yeah. Woof.
Wes Bos
But, like a very long time. Like, that's another example as well. It's like, if you wanna use Remotion or you want to use Yeah. Like, React Native. Right? There's so many use cases for or or tools that are simply only out there for React. Meaning that, like yeah. Like, React is by far not the best choice for this thing if if you're looking at if you're looking at it from a subjective point of view. But if you're looking at it in terms of, like, docs and and libraries and, other people that have done things and and portability from, like oh, I all of a sudden, I want my components to to be in MCP Vercel. Wow. Somebody's already made something for React components, and they it just works.
Scott Tolinski
It pains me to admit that. But I Yes. Yeah. That's how you know I'm 40 years old now, Wes, JS I'm starting to Oh, yeah. Make a sensible choices.
Wes Bos
Oh, man. Alright. Next question from Sam across the pond. With modern CSS features like Grid, Flexbox, and container queries becoming widely supported, I'm curious.
Wes Bos
What do you think about the traditional column grid frameworks like Bootstrap or Bulma today? Man, this seems like man, I haven't heard of Bootstrap in in a long time. Do you ever reach for a framework like that when you want a quick responsive layout, or do you generally find them unnecessary now that native CSS handles the layout so well? Are they still relevant for certain teams or projects or mostly redundant at this point? I would say in most cases, your use of a layout framework, meaning that, like, different types of layouts, columns, things like that, Node necessarily like, component frameworks are are bigger than ever, can simply be replaced by a couple classes that that you add on to something that are are common for different layouts. Like, for example, the Syntax website, I had to throw something on there the other day, and I needed the div to be it was a banner on the top of it. Right? And I wanted the banner to span all the way across, and then I wanted the contents of the banner to be the same width of of the actual website. Right? And what I did is I just went into one of our existing components, and I just found the the classes that you just have to add to these things, and then it just snapped directly into place with the grid.
Wes Bos
There's no need for a massive layout framework. When CSS Grid first came out, there was tons of people trying to build some sort of, like, beautiful grid system that will work with it. And and the reality is that the straight up CSS APIs and a couple utility classes are more than enough for most cases. Yeah. I I built a grid system, believe it or not,
Scott Tolinski
for CSS Grid.
Scott Tolinski
And I found it to be a tremendous pain, to go back to working in a grid system, not because the code was bad or anything like that or the not like CSS Grid wasn't a good tool for that. It was like Yeah. This just isn't how I work anymore.
Scott Tolinski
It's just Scott, like, throwing something on a grid call and stuff. I just felt, like, way less flexible.
Scott Tolinski
You know, I've been working on, my graffiti CSS for a little while, Wes, and I have recent like, this is how I I work. I have different layouts, layout sidebar, layout wide, layout readable, split, whatever. And this is mostly just, like, single classes that then can be composed into, like, full on classic layouts like a app shell or something like that. And, like, most of the stuff that I I'm I'm doing is like a single class or two to do this. And so just yesterday, I was like, what if I I started to see what kind of pages I could implement? So I started building out a bunch of pages and just to see where are the gaps in this library because I use this tool for all kinds of things. So it's like, alright. Let me try to build a landing page without writing any CSS, with just classes. And, like, unlike and and not to slam on Tailwind. Unlike Tailwind, you're not using eight classes. You're using, like, one class or two classes for most of this stuff. And you can see, like, it's not perfect if you're looking at this on video. It's absolutely not perfect, but it's, like, unveiling where the gaps are in this library for me. But these are all exactly that. These are all either container queries or or media queries based anythings.
Scott Tolinski
This is exactly that, using just a handful of classes. And to me, this is the way. This is the way that I'm working, not just because this is my library, but because I'm building this library because this is the way that I like to work. Right? So, that's where I'm at right Node, and I agree fully with what you what you said. Yeah. Couple reusable classes.
Wes Bos
No need to npm install something. It's it's even better when they're just, like, directly in your code Bos so that you can find
Scott Tolinski
Totally. Like, where the code is actually written. You know? I would love to do an episode on, like, the eighty twenty here because there's a there are handful of, like, classes layout classes. Like, I love a stack, which is like a concept that I've seen a little bit like stack, which is just a vertical display flex with a gap with, margin zero on the children. Like, there's a handful of classes I get a lot of value out. So maybe we can spend some time in another episode going deep on what those eighty twenty classes are in terms of stuff that could actually make your life a little bit better. Even then, I think in that case, it's just a a copy paste,
Wes Bos
throw it in.
Wes Bos
Not I don't think you need some external thing. Like, even if it's something that someone has written, you know, you copy paste your CSS normalize, and then you throw in your your Yarn. You throw in your stack, all your the common things that you need.
Scott Tolinski
Well, funny that you should say that, Wes. I do have a button on Graffiti that is literally just copy and paste this into your CSS There you go. Because that's how I like to work as well. Also, this doesn't mean to be a advertisement or anything. But the whole thing is because it's built with CSS variables, Wes, I built a theme picker where you can change the full, like, theme on this really easily.
Scott Tolinski
And even as far as, like, the the fonts and the type scale, like, if you if the type scale JS too big for you or whatever, if you want it giant, you can have a larger type scale. You can make all of the corners square if you want square corners for everything.
Scott Tolinski
And this is like what you do with this is you export the theme, and it's just here are your CSS variables. That's it. You just copy and paste the overrides.
Scott Tolinski
And if people are watching this, you can change, like, massive amounts of this library, and it's, like, 10 CSS variables. Maybe, like, twelve, fifteen CSS variables that you're just overriding on top of the system. So I think I'm finally getting there with this library. I think it is like, just looking at this, to me, it's like, yeah. I think this is is starting to hit the places that I warp it to hit. Right?
Wes Bos
Yeah. It's beautiful. What is it? Graffiti-ui.com.
Wes Bos
You wanna check it out?
Scott Tolinski
Yeah. We'll link that up. And I'm I'm shipping some of these,
Wes Bos
theme variable stuff ASAP, so we'll be up by the time you're hearing this. Alright. Let's move into the next section, which is sick picks and shameless plugs. I'm gonna sick pick something that I've bought probably four times now, and this is a power bar with a couple USB plugs in it as well. So all of my kids have I don't know. They have, like, a light, and they have their YOTO that they need to charge and whatnot. And, like, you end up with this just like there's too many things.
Wes Bos
My wife will unplug something because I need to plug something else in, and that drives me crazy.
Wes Bos
Or, like, you've got, like, all these crappy little adapters plugged in, and then they fall out. So I several times, I've bought this, power bar where it's got a nice braided cord on it. It's got six or seven different plugs, and then it has I don't know. There's different versions of them, but there's there's between four and eight USB things. And they're not the fastest charging things, which is totally fine. I don't need, like, fast charging for my kids Yoto or something like that. But you need to be able to No deal. Leave the thing plugged in for some amount of time and and have it in there. And these things are fantastic, so I'll link them up. There's it's just one of these silly Amazon brands called Mefaso or whatever, but they have been awesome. And my favorite thing about it is that they have flush plugs so that I don't know. Kid kids are so rough on plugs, and they always just bang them and then they fall out. And, like, I'll give it I'll give you one thing Yarn up. The North American plugs are crazy dangerous. The fact that they, like, they they come out of the outlet partially, and then they
Scott Tolinski
start exposing Node. Yeah. Yeah.
Scott Tolinski
Yeah. Good. Good. Good pick. I'm going to sick pick a capture card. I can't show it because it's plugged in.
Scott Tolinski
But I was using the Cam Tolinski. And like Wes, I was having some issues. Now I think your Cam Link is actually fine, you said, Node? What what do you think? My Cam Link in in probably three years.
Wes Bos
Yeah. But I I still have it, but it drives me nuts that it's, like, this little USB thing that just I get like, the plugs, it hangs out all the time. So I moved to the, like, the live streamer four k many years ago, and it's been been fantastic.
Scott Tolinski
Yeah. So you had told me that you had this AVerMedia live streamer cap four k, which is what you just mentioned. And it's $99, and it looks kind of cheap in a way. It doesn't look like as as streamlined as the the Cam Link, but I gotta say this thing has been rock solid for me. I was having, like, I was having, like, three weeks worth of, video issues where my my cam was not connecting reliably, and I was just getting really frustrated with it. So, basically, this takes an HDMI in and, goes USB out so that way you can bring in anything HDMI as a camera input into your computer. Again, we use this for our cameras. And I gotta say, it's been so nice not to have to think about this thing. I hated having to buy a new one, but, like, I do this for a living. And it was getting so frustrating to come in and having, like, having to unplug and plug back in the Cam Link every other day and being like, it's just actually gonna be unplugged and plugged just to make it work. And I've not done that with this thing since I got it a couple Yarn ago. I haven't had to do it either. Yeah. It's amazing. So check it out. AVerMedia.
Scott Tolinski
Again, I don't I don't know if this is just, like, one of those cheapo brands or whatever, but it's been Oh, no. It's not. Let me tell you. This is a like, the
Wes Bos
I have a few of the, like, crappy knockoff ones on that you can just get on Amazon for, like, $11 or whatever, and the quality that comes off of those is not the same. Like, the the colors are off.
Wes Bos
It skips frames or whatever. Like, you actually do need, like, a good thing that has a chip in it. So AVerMedia is a, like, a very reputable company, very similar to Elgato, and they have, like, a huge suite. They they have webcams. They've got microphones. They've got, like, those boards and whatever. And capture cards, they they they came popular in the, like, gaming. I have another one at the cottage that you can put in, like, an SD card in, and it will record to the SD card and then also pass through, which is what gamers use to, like, record their footage in in HD and then pass through and stream as well. So they they're big in the, like, capture card gaming industry as Wes. But this that's the the best part about it is the fact that it's USB c and Yeah. It can just it can live at anywhere you want it to go. So it's a it's a great company.
Scott Tolinski
Okay. Cool. Yeah. I wasn't familiar with them until you sent me this. And, yeah, I've been very, very, very pleasantly surprised by this. So, shout out to AverMedia. Good stuff. I do have a shameless plug, Wes. We haven't been doing shameless plugs on the show, but I have a shameless plug. I mentioned a couple episodes ago that my wife was starting a podcast at phases.fm.
Scott Tolinski
But I'd like to officially shamelessly plug this because March 4, our first episode was released, our very first episode. We had a preview episode up. We have, a website.
Scott Tolinski
We have a YouTube channel.
Scott Tolinski
So if you're the type of people who wanna watch on YouTube, we're not doing video on YouTube just yet, but, we will at some point here. We're we're just trying to get it off the ground and running and get some, practice, but it's everywhere that you want to, find your podcast. Phases is a parenting podcast with my wife, doctor Tolinski. She's a doctor of educational psychology. She's worked in schools as a school psych. She's, done, testing. She's worked with parents. She's, ran a a testing center where she tested for learning disabilities and autism and things like that. And she even taught a master's level course on human development. So, basically, her and I are taking a really lighthearted approach to talking about parenting in regards to, like, a scientific way. So super super light, like, super fun, not heavy, super nonjudgmental, and I get to play the role of the, the person who doesn't know anything. And I basically just get to ask her a lot of questions, and she gets to share her expertise. So if you're a parent and you're interested in in that type of thing Wes you're gonna learn some stuff, low judgment, check us out on YouTube at phasesfm or phases.fm, as a website or any of your podcast players. Although, I do find, Wes.
Wes Bos
Man, I don't know if it's, like, search lags on these things or what these days. I was just gonna say, I was looking for it on Spotify, and I couldn't find it until I typed in phases doctor Tolinski.
Scott Tolinski
It's weird. And I can't find it at all on on Pocket Cast unless I click the listen on Pocket Cast. A phase Pocket Cast got the worst search. I don't know what they're doing. I bet
Wes Bos
these companies are getting slammed with AI generated podcasts.
Wes Bos
They have to, like like, say, okay. We're we're gonna wait and see if people actually subscribe to this thing and they're actually listening to it because otherwise, just these random podcasts are showing up. Like, I would love to talk to somebody who works at Spotify or Apple Music or whatever. Oh, yeah.
Wes Bos
Show me what you're getting. You're you're getting, like, a 100,000 AI albums submitted every single day or, like like, how are they you know that they're probably Node red trying to fight this stuff right now or figure out even what to do with it.
Scott Tolinski
Spotify had to turn off their developer API. I think they're reworking it right now. I don't know if it's back yet. But I was I was just trying to create a developer account for my OpenClaw
Wes Bos
because I wanted to connect it to my OpenClaw, but it was like, oh, where our API is closed. Yeah. I I would imagine that's that's the case for sure. Yeah. Oh, I guarantee you that's why. Man, can't have anything nice. Can't have but, also, bud, there's so much like, I've been using I use use Spotify for listening to music And the amount of, like, Sumo AI music that pops in, it makes me so mad because I hear it immediately.
Wes Bos
I immediately hear it. And then I, like, do a search for this band, and then you find all these, like, fake TikToks of these that they're they're cranking out, you Node, and then I commented AI Scott on them, and they delete your comment right away. It's just like
Scott Tolinski
AI slop. Brutal. Brutal. Brutal.
Wes Bos
Yes. I don't know. But I also have a theory that Spotify is behind a lot of this AI music, because why pay humans for music when you can just generate it yourself?
Scott Tolinski
Wes, with the, busting out the tinfoil Yep. On, Yeah. I love it. Alright. Well, thank you so much for joining us.