Does Code Quality Matter Anymore?

Syntax| 00:58:40|Mar 13, 2026
Chapters13
A potluck episode where Wes updates his second brain notes, discusses code organization, and questions around AI’s impact on layouts and CSS features, inviting listeners to submit questions for future episodes.

Wes Bos and Scott Tinsky debate whether code quality still matters in an AI-driven world, arguing for maintainable structure, progressive enhancement, and practical tooling.

Summary

Wes Bos hosts a lively, potluck-style episode with Scott Tinsky, tackling questions about modern UI techniques, AI-assisted coding, and how to keep codebases sane. They discuss whether dialogue-driven UI (dialogue/popover) can replace JavaScript-driven toggles, and why backward compatibility still matters even as we adopt new CSS features. The conversation shifts to the reliability of AI for maintaining code quality, stressing that organization and clarity won’t vanish with machine-generated code. Wes shares updates on his Second Brain Obsidian setup, including cloud prompts, the Obsidian vault, and the new QMD vector search approach for notes. They also cover browser support, progressive enhancement, and how to handle accessibility and legacy environments using polyfills and feature detection. The hosts touch on Sentry for production visibility, and they poke at the current state of JavaScript stacks, noting the trade-offs between stability and experimentation. Throughout, they offer practical opinions on layout systems, 8020 CSS classes, and the evolving role of frameworks like Bootstrap, all while sharing personal workflows and gear recommendations. The episode closes with a candid discussion about content accessibility, feedback loops for UX, and a shameless plug for new projects and gear.

Key Takeaways

  • Progressive enhancement remains vital: even with modern dialogue-based UI, you’ll still rely on CSS/JS layering and polyfills for older browsers.
  • UI patterns like dialog and popover can simplify toggling navigation, but practical use still hinges on starting styles (allow/discrete) and backward-compatible class toggling today.
  • Well-organized, readable code is not obsolete; AI can assist, but drift and context loss threaten maintainability without solid structure.
  • Second Brain setups (Obsidian + OpenCloud bot + QMD vector search) can drastically improve recall and note retrieval, turning scattered notes into actionable knowledge.
  • Sentry proves its value by surfacing browser-specific issues (notably Safari/iPad) and by enabling root-cause analysis to prioritize fixes.
  • Bootstrap/old grid frameworks aren’t mandatory; native CSS (grid/flex, container queries) plus small utility classes can replace heavy frameworks for most layouts.
  • Effect (the TypeScript library) has strong potential for AI-heavy apps but carries a steep learning curve; adoption hinges on project needs and team buy-in.

Who Is This For?

Front-end developers and UI/UX engineers who want to understand how to balance AI-assisted tooling with solid code organization, accessibility, and practical CSS/layout strategies. Also useful for engineers curious about modern note-taking workflows and performance monitoring with Sentry.

Notable Quotes

"Are we back to using a display: none on the button?"
Question about hamburger menus and the necessity of traditional show/hide tactics with modern dialogue elements.
"I think the future is with popover and dialogue to do these things with starting style allow-discrete"
Wes expresses optimism about CSS-driven animation states for UI toggling.
"You cannot outsource the brain job. That brain job is our entire like role as if we're vibe coding here."
Strong stance on maintaining code cognition and structure even when AI assists.
"Sentry at centry.io/sax, sign up, get two months for free."
Promotion of Sentry as a critical debugging/observability tool discussed in the episode.
"Progressive enhancement... older browsers should have a working experience."
Core stance on accessibility and reliable UX across browser generations.

Questions This Video Answers

  • How can I use CSS dialogue and popover to replace JavaScript-driven menus without sacrificing accessibility?
  • What are practical ways to maintain code quality when AI writes most of the code?
  • Is Bootstrap still useful in 2026, or should I rely on native CSS grid/flexbox utilities?
  • What is Obsidian QMD, and how can vector search improve note retrieval in a Second Brain?
  • What should I look for when choosing a JavaScript framework for a new project—stability or novelty?
WesBosSyntaxdialog APIpopoverCSS animationprogressive enhancementbrowser supportSentryObsidianSecond Brain/Obsidian vaults","QMD vector search","Effect (TypeScript)"],
Full Transcript
Welcome to Syntax. Today we got a potluck episode. You bring the questions, we bring the answers. We got a couple really interesting questions today. First of all, I'm going to give you an update on my second brain update, which is my like notetaking slash I need to remember this. I need an easy way to log all of these pieces. I made some progress. I'm pretty happy. I'm going to share that with you. Pop over 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 in grid? You know, 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 questions. Effect.ts, some stuff about supporting older browsers and new CSS features, all kinds of good stuff. If you've got a question, go to syntax.fm. There is a button in the nav that says ask apolla question. Click on it, put your question in there. and we'll answer it on an upcoming episode. My name is Wes Boss. With me as always is Scott Tinsky. Let's get into it. All right, 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, 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 screens? Are we back to using a display? None or similar on the button? What? Yeah, he's 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 like a desktop. 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 think so. Without this technique? Yeah. So, to me, this is a nothing issue. do a nothing burger. Uh because to me, yeah, this is just how I've always done it. Um and I do love the idea of using dialogue or popover or any of these things to toggle a navigation. I actually did a demo for that at JS Nation a while ago. Uh a JavaScript less hamburger menu, slide over that whole thing with the animation. You can use um the starting style. You can use allow discreet. um you can animate these things and and granted the browser support isn't 100% yet and it's not something that's going to 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 uh 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 uh to do these things with starting style allow discrete these CSS properties that allow us to animate something when it goes from display none to display whatever and to me that is the future but I'm still using JavaScript in a class to apply that class today. Plus, I think most complex websites at 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 and people are simply just saying, "All right, well on mobile our nav is going to 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 kind of related, I wanted to ask you about this. I just saw this yesterday. When you're using Versel on iOS, tapping some of the like tabs, it now uses the vibrate API, which I had no idea. iOS now has haptics, meaning that you can make the like you can use the little thing inside of it. Did you see that? I I didn't see that because I don't use Versell 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 or when it wants my attention it does do that buzz and I like it uh because I don't have sounds turned on and if it needs to get my attention I think it I don't know what is a uh man what is it what I'm trying to remember what web app specifically it is but it does it gets my attention the moment just with a little button and got to say that's nice because it's not sound it's not making a uh you know, sound on my phone or something like that that I might miss cuz 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 um chat GPT as 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. is an input type of checkbox with a switch attribute on it that triggers it. Yeah. So, you cannot there's no programmatic like navigator.vibrate API working, but you can turn a switch that is hidden on and off many times. Um, and that will make the vibration go on and off. I bet they're going to 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 uh Chrome on Android doesn't navigator vibrate API in the web that clear would have made way too much sense to use would have made way too much sense and of course it's on uh Chrome and Android because they actually implement the web APIs that be great. Yeah. Next question. Krasmir says code 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 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'm like 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 going to update something in the right spot. Things are going to change a little bit between the two. And we still need to think about like performance and and how this code writes. 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 codebase from that rather than just doing like raw searches on your codebase. And well written, wellorganized code is is that, right? So I still think this matters quite a bit. I' I've certainly have been in many code bases where you just let AI do it 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 once this thing grows to a certain size, it's very frushing and very hard to to sort of get a handle on it. Yes. Yeah. I I I think now more than ever, not 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. Uh we were just talking about it yesterday, 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? Uh and we have some really fun ideas or some stuff we're'll we'll talk about um in the future here. We're working on a a video together right now. But uh I think this is important because that organization, that steady structure, that uh that lack of drift and everything like that is going to 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 you know, slopping it out. So, not much there. And 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 it's not that good in like existing code bases. But I'm starting to feel the opposite. um 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 codebase and I said like hey move this thing like something I've been wanting to do for forever is move from express to Hano 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. Um, and then I was like, you know what? I'm gonna like throw an agent on this and say see if like what it can do. And it like it picked up it says, ah, I see you've already have been writing some of this code in web standards um, 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 patterns, structured, established patterns, all of that stuff versus 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 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. Uh, next one here is an update on Second Brain from Wes. I I would imagine uh you've been talking about your Obsidian journey, about how you're working with Obsidian to catalog data and things like that. And yeah, somebody wants an update here and let us know. I just I just put this in here. This was not a question. You asked your own question. I asked my own. I want to It's my podcast. I'll talk about what I want, but basically like a couple I don't know, maybe about a month ago, I asked like people, hey, like like what are you using for not 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 want to 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 notes? 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 uh 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 got it. You got to give Obsidian another try. And I have I've tried the Obsidian note takingaking thing for for many many times and it's never really stuck. I've just been like a straight up markdown in a folder kind of guy, which is like 80% of what Obsidian is. But I decided let's let's give it another shot to to see where it is, right? So, I took I don't know probably 10 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. Um, so I created a vault and I put some some things in there and it just kind of 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 takingaking people are just like their whole personality is taking notes. I'm not into that, right? I just need 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 now. 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 want to buy this shirt. Do I need 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 um I don't know what it's called, but it's kind of like notion where you can create extra properties that are associated with everyone. So I Okay. I just went through like metadata front matter. Yeah. Yeah. Exactly. So I was like I just went 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. Um, if I put a hoodie underneath it or if it's like a t-shirt. Um, and then I've just been able to like have that data in there where I can reference it myself. And I can also ask like my open collab like, hey, 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 cloth stuff is stupid. There's no actual use cases for it, which I'm I kind of I'm kind of on board 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 want to 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 got to remember this. Um 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 um QMD which is from Toby um CEO of Shopify. Nice water bottle. Whoa. Madcss.com. 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 that QMD will search all of your markdown. Um, 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. Um, 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, um, even though those are not the same words, they're they're similar enough. you know, the ve 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. It works really well. You can hook up your CloudBot to use this instead of the the built-in memory and I was surprised at how well this work. doesn't do like images or video or anything like that which I I hope it will eventually support. So I ideally I would just search like screenshot of uh 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. I have it running on a laptop over here. So I can just do it from my phone or I can um 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 I would have no hesitation in dropping Notion. Um, now granted I I couldn't make that decision uh for the whole team because I'm sure there would 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 um Obsidian, if you aren't using it, Wes, is the daily notes feature where it creates a new file every time you open Obsidian for that day. Okay? And 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. Uh but just having those tags in there makes it really easy for me to just use those uh daily notes as a dumping ground for stuff that I don't want a full-on markdown file for of everything. Uh I use a number of different Would you believe I actually made a custom theme for uh Obsidian West? I would. I I actually made a Cobalt 2 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 a theme for this." I like Googled Cobalt 2 Obsidian and I was like, "I wonder if anyone has done it." I did it. You did it. Well, maybe we should cuz 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. 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'll do we'll do an episode on it. So, let us know. There's a number of self-hosted. Yeah. Yeah. Yeah. They're not they're not easy to set up. I'll tell you that. I'll I don't mind that. Give me something that's hard to set up and and flaky. Sounds like my my thing to save four bucks a month. Yeah. Yeah. Oh, and if you want to see all of the errors in your application, you'll want to check out Sentry at centry.io/sax. 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 centry.io/sax. Again, we've been using this tool for a long time and it totally rules. All right. Next question here is from I just made this one up. Not really a question, but maybe a topic for discussion. Awesome podcast, by the way. Yeah, let's actually just let's discuss how awesome the podcast is, Wes. That's the discussion. Now, um 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 IE6, thank God. Uh, 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. Uh, I'm not making anything that needs to be in that ecosystem. And because of that, I get to use the the latest and greatest, even 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 IE6 and IE5 and stuff. So, if you haven't had to support IE5 or IE4 uh in your career, then uh this is this is the uh what you what you got to do now. But yeah, it's much better. It's much better. And granted, so many of these things like Popover has a great polyfill. Yeah. That you can use that polyfill. So many things do exist now that you can just polyfill them away. How do you feel about the current state of of this West? Because to me, we still have the concept of progressive enhancement of your users on older browsers should have a working experience. I mean you can you can make that experience nicer for your uh more modern users as well through progressive a lot of this stuff is you can write it in such a way where you fall back you progressively enhance um 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 um and I I used the new CSS feature corner shape scoop um which allows you to like cut the corners. Yeah, big fan. Only on Chrome and and Edge right now. Not in not in Safari, not in Firefox. And someone was giving me crap for that cuz 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 Chromebased browser and and they're going to 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 supports queries in your CSS eventually or you can throw a polyfill 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. The probably the biggest one is Safari iPads because like people get an iPad and then they have them kicking around for like 10 years 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. Um and Apple doesn't update these old iPads. So you got old versions of Safari. like probably the biggest killer for all these new web standards things. Even not even just old iPads, iPads in general. My buddy Toeer who's on who's been on the show before, he said his like in 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. Could not live that way. 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 features supported on that Safari are are great. I was talking to people who said we have to support the last two major versions. Like that's their new mandate at their company. And with Safari now releasing a major version per year, that means they have to support like two-year-old browsers, which is kind of 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 scoop feature or whatever or or do we need to wait until everybody catches up? But man, things are a lot better. Things are way better these days. We get a number of uh things coming in on Sentry of like this feature is not you know this API that we are using isn't supportive that that error results in a console error on our Sentry and then we just fix it. Uh 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, man, Century 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? 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. Um, if you have a Windows, you're out of luck. If you're on a Mac, there's no way to run old Safari. have to go and download you have to go download like an iOS emulator on Xcode that is an older version and luckily the versions of desktop Safari and iOS Safari are very very close um and that way you can replicate the bug and and go ahead and fix it. I will say that that root cause uh 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 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 Centry sentry.io/sintax io/sintax. Sign up, get two months for free. Yeah, this podcast is brought to you by Century, but that's on this whole thing's on like an ad, but legit uh this is a useful tool in this. It was an ad. So, but it was a good We should use it. You should use it. We are sorry. We should use it. We do use it. I use it. I've been using it for probably 10 years now. It's fantastic. Yeah. I will say uh 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 Sentry 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 Sentry for longer than I can remember at this point. I have a ton of projects on Sentry. 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. Uh, you can always make a little side video on it or something 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? Um, 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 know, like you you have to log into 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 um or or show the accessibility. It's probably even bigger if it's an accessibility issue cuz that company can get in trouble. There's like people out there that will find websites that are not accessible um and then they will they will sue you. A lot of them are are well-meaning, but a lot of them are also like ambulance chasers as well. So there's 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 kind of like just detail it. I do this all the time for people's websites and I I I'll like usually preface it by saying like, "Hey, feel free to throw this out." Like, 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 problem that I'm specifically running into it. And sometimes that is the best feedback for people because 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. Yeah, I I I agree to this to some point and then other times you are going to be screaming into a void. I think it depends on what what the company is. We had a very fun rant section against the well I was ranting. Wes was just cracking up at the uh the awfulness of the Optimum RX website. And I can guarantee you if I were to attempt to catalog even one of their numerous thousands of issues on the Optimum RX website that they would not give two shits about it. So sometimes there is that, you know, you just you're not going to get any progress on there by making that. And it's just like uh 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 uh pushing out garbage to you? This is this is something that I hope AI will actually fix is 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 codebase cuz sometimes it's just these little problems where 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 and then it goes ah your password is good. You may now click the button. I'm like I know but because you're listening for like a key up event and when 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 10-second fix where 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. And like that would probably be a 10-second fix. The AI could probably by the time I've done this sendas, AI could have that fixed. And I am looking forward to that world where where this this happens. I'm going to be honest. If we die I you know right now if the craftsmen behind these apps aren't good enough to to crafts people 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 this is this is what Ben Ben's modem is. So Ben Vinegar used to be the manager of syntax. He is working on a startup called modem modem.dev 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 will say ah people are complaining that like password autofill needs like a key up event and then it would go to your codebase. 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 10-second fix, but probably three me three days of of fussing. I still think that would require somebody to care. It Well, I think 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 for for them to like care that much, you know? And like they don't want to have to talk to a manager about input events. So, next one is effect. Effect, if you don't know, at effect. website is that's a library for working effectively in Typescript. It's intense. 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. Uh it's one of those things where you look at it, you're like, "Huh, this this looks interesting, but it also looks like a lot." Uh 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 ad. Any thoughts? Um, 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 going to be honest, I don't want to 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 is Stop laughing every time I say effective. That's that's the Yeah, you cannot do a great job explaining it. Yeah. You think I'm not doing a great job explaining? No, I I mean you're you're saying it's effective. Go ahead. It helps you write code without bugs. It helps you write code that handles errors better, interruptions, async, synchronous code, composition. It but it is very Rustlike in its API. It is intense. There's a lot of extra stuff to do stuff that you're used to doing with less code in straight up TypeScript. And because of that, it feels daunting to write by hand for me personally. 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 haven't is because it requires a lot of buy in and I don't have the time or the projects to deal with that buyin at this point in time in my life. like a lot of your like lower level 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.webite 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. Uh we don't have as many bugs. This thing flows really well. Oh, 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 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. I have no doubt that it would be useful. I have no doubt. Yeah, that I would probably like it to some degree, but even like back when uh Redux was becoming the thing, it always just felt like, yeah, this is a lot of stuff to do what I'm trying to do. And uh that turns me off of it a bit, even though it is really neat. Null says, I'm an experienced Rails developer interesting building full stack apps within the JavaScript ecosystem. Since Rails is mature and standardizes conventions and 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 want to build a full stack app. However, in the JavaScript ecosystem, there are many options such as Nex, Tanstack, Remix, Redwood SDK, and Astro. 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. 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 OJS but it looks like better off is a successor. Um the list goes on and on and on. I recognize that each project and team will be different requirements and ship do what do I do? This is a very very very common complaint in the JavaScript land of like where is the rails of JavaScript and every time we say this everybody comes out and says you need to be using Nest.js JS or there are several other like things in our ecosystem that are tiptotail absolutely everything and I always ask well why are people not using that like like why don't people use that and it's because as 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. 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 zero sync, as amazing as zero sync is, it had what, two or three major API changes and it it's been been kind of hard to switch from one to another, right? Yeah. Yeah. Totally. and something that he you like though like that's not bad for you but it's if you're looking for something that is stable and long running probably no you're 100% right and I I am the worst person to give advice there on this type of thing because I I like totally am quicksotic on those those elements of it where I'm like that's no big deal the whole API just changed no big deal what's what's that a day's worth of work like that's not realistic or uh like so stability maintainability ility is it is it well-maintained, right? Like like where are we at with it? Is it standards based? 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 HANA and doesn't necessarily matter that much because 98% of your code will be movable to like a spelt kit server handler because they're all built on on these standards, right? So that to me is probably the the biggest thing here is 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 multiart, will that just work right modern ability? Does this support the later features that I need? That's a good thing to ask yourself. And then like docs and and popularity. Is this project big enough that I will be able to to get help and AI others like my personal website is on on Wacku and I was upgrading it yesterday and and I hit a whole bunch of of problems with it and and I had open 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 Nex or on Spelkit 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. Totally. I I it's it's totally what what your your tolerance is there. Uh but also like not just your tolerance but your the practicality of it all. It is funny that uh 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. You could tell this uh the feedback to that episode uh 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 um inapp 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 is 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 uh I will say I Wes I will you believe that I recently built an app with React. Whoa. How come? Are you coming back? No. Hell no. Uh because I I wanted to use Remotion. 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 have that's the first one I' I've touched and woof. But like that's another example as well. It's like if you want to use Remotion or you want to use 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 uh other people that have done things and and portability from like oh all a sudden I want my components to to be in MCP server wow somebody's already made something for React components and it it just works. It pains me to admit that, but I Yeah, that's how you know I'm 40 years old now, Wes, is I'm starting to make a sensible choices. Oh, man. All right, next question from Sam across the pond. With modern CSS features like grid, flexbox, and container queries becoming widely supported, I'm curious. 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 a layout so well? Are they still relevant for certain teams or projects are mostly redundant? At this point, I would say in most cases, your use of a layout framework, meaning that like um different types of layouts, columns, things like that, not necessarily just like like component 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. 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 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, uh for CSS grid, and I found it to be a tremendous pain uh 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 this just isn't how I work anymore. It's just not like throwing something on a grid call and stuff. It just felt like way less flexible. You know, I've been working on uh 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 appshell 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, all right, 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 anything. This is exactly that uh 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, um that's where I'm at right now. And I agree fully with what you what you said. Yeah. Couple reusable classes. No need to npm install something. It's it's even better when they're just like directly in your codebase so that you can find totally like where the code is actually written, you know. I would love to do an episode on like the 8020 here because there's a there are a handful of like classes layout classes like I love a stack uh which is like a concept that I've seen a little bit like a stack which is just a vertical display flex with a gap with a 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 8020 classes are in terms of stuff that could actually make your life a little bit better. And even then I think in that case it's just a a copy paste throw it in 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 card you throw in your stack all your the common things that you need. Well, uh, 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, uh, this isn'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. And even as far as like the the fonts and the type scale, like if you if the type scale is 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. 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. And if people are watching this, you can change like massive amounts of this library and it's like 10 CSS variables, maybe like 12, 15 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 want it to hit. Right. Yeah, it's beautiful. What is it? Graffiti-Ui.com. You want to check it out? Yeah, we'll link that up. And I'm I'm shipping some of these uh theme variable stuff ASAP, so we'll be up by the time you're hearing this. All right, let's move into the next section, which is sick picks and shameless plugs. I'm going to 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 yo-yoto that they need to charge and whatnot and like you end up with this just like there's too many things. My wife will unplug something cuz they need to plug something else in and that drives me crazy 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 uh 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 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 Maso 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 they fall out. And like I'll give it I'll give you one thing year up the North American plugs are crazy dangerous. the fact that they like they like like come out of the outlet partially and then they closed. Yeah. Good. Good. Good pick. I'm going to sick pick a capture card. I can't show you because it's plugged in. Uh but I was using the cam link and like Wes, I was having some issues. Now I think your cam link is actually fine. You said now what? Well, I haven't used my cam link in in probably three years. Um, 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 4K many years ago and it's been been fantastic. Yeah. So, you had told me that you had this Aver Media Live streamer cap 4K, which is what you just mentioned, and it's 99 bucks and it looks kind of cheap in a way. doesn't look like as as streamlined as the the Cam Link, but I got to say this thing has been rock solid for me. I was having like I was having like three weeks worth of uh 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 uh 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 I've always unplugged and plugged just to make it work. And I've not done that with this thing since I got it a couple years ago. I haven't had to do it either. Yeah, it's amazing. So check it out. A media again. I don't I don't know if this is just like one of those cheapo brands or whatever, but not Oh, no, it's not. Let me tell you, this is a like the I have a few of the like crappy knockoff ones on that you can just get on Amazon for like 11 bucks or whatever. And the quality that comes off of those is not the same. Like the the colors are off. It skips frames or whatever. Like you actually do need like a good thing that has a chip in it. So, Aver Media 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 well. But this this thing the best part about it is the fact that it's USBC and it can just it can live anywhere you want it to go. So it's a it's a great company. 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 uh shout out to Aver Media. 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. Uh, I mentioned a couple episodes ago that my wife was starting a podcast at phases.fm, but I'd like to officially shamelessly plug this because March 4th, our first episode was released, our very first episode. We had a preview episode up. We have uh a website. We have a YouTube channel. Uh so if you're the type of people who want to watch on YouTube, um we're not doing video on YouTube just yet, but um we will at some point here. We're we're just trying to get it off the ground and running and get some uh practice, but it's everywhere that you want to uh find your podcast. Phases is a parenting podcast with my wife uh Dr. Tinsky. She's a doctor of educational psychology. She's worked in schools as a school psych. She's uh done uh testing. She's worked with parents. She's uh 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, uh her and I are taking a really light-hearted approach to talking about parenting in regards to like a scientific way. So super super light, like super fun, not heavy, super non-judgmental. and I get to play the role of the uh 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 where you're going to learn some stuff, low judgment, check us out on YouTube at phases FM or phases.fm uh as a website or any of your podcast players. Although I do find Wes, man, I don't know if like search lags on these things or what these days. I was just going to say I was looking for it on Spotify and I couldn't find it until I typed in Faz's Dr. Tinsky. It's weird. And I can't find it at all on on Pocketcast unless I click the listen on Pocketcast. Faz Pocketcast got the worst search. I don't know what they're doing. I bet these companies are getting slammed with AI generated podcasts. they have to like like say, "Okay, well, we're gonna wait and see if people actually subscribe to this thing and are 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. And like, show me what you're getting. you're you're getting like a 100 thousand AI albums submitted every single day or like like how are they you know that they're probably code red trying to fight the stuff right now or figure out even what to do with it. 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 open claw cuz I wanted to connect it to my open claw but it was like oh 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 by there's so much like I've been using I use use Spotify for listening to music and the amount of like AI music that pops in. It makes me so mad cuz I hear it immediately. I immediately hear it and then I like do a search for this band and then you find all these like fake Tik Toks of these that they're they're cranking out, you know, and then I commented AI slop on them and they delete your comment right away. Just like AI slop, brutal, brutal, brutal. Yes. I don't know. But I also have a theory that Spotify is behind a lot of this AI music cuz why pay humans for music when you can just generate it yourself? Wes with the uh busting out the tin foil and uh Yeah, I love it. All right. Well, thank you so much for joining us. Peace.

Get daily recaps from
Syntax

AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.