Skip to main content
Syntax

986: Does Code Quality Matter Anymore?

58 min episode · 2 min read

Episode

58 min

Read time

2 min

Topics

Productivity, Artificial Intelligence, Software Development

AI-Generated Summary

Key Takeaways

  • Code Quality with AI: Well-organized, DRY code becomes more critical as AI-assisted projects scale, not less. AI tools use TypeScript LSPs to crawl codebases by following function references, meaning messy or duplicated code actively degrades AI comprehension. Projects that start clean maintain AI effectiveness longer; codebases with drift and duplication cause compounding errors as context grows.
  • Obsidian + Vector Search Setup: Wes built a functional second brain by migrating ten years of markdown notes into Obsidian via Claude, then connecting QMK (Toby Lütke's tool) for semantic vector search. QMK vectorizes sentences mathematically, enabling fuzzy retrieval — searching "coat measurements" surfaces notes tagged "shirt size" — without requiring exact keyword matches across the vault.
  • CSS Navigation with Popover/Dialog: Using popover and dialog APIs for hamburger menus is viable but not yet production-ready for broad browser support. The recommended current approach remains JavaScript class-toggling for compatibility, while using `@starting-style` and `allow-discrete` CSS properties to animate display-none transitions represents the forward-looking standard to adopt progressively.
  • Browser Support Strategy: Rather than applying blanket rules like "support last two major versions," teams should pipe actual traffic data into caniuse to make per-feature decisions. Old iPads running outdated Safari represent the largest real-world compatibility risk. Tools like Sentry's root cause analysis AI can identify which specific browser versions trigger production errors, enabling targeted fixes.
  • JavaScript Framework Selection for Rails Developers: When choosing a JavaScript full-stack framework, prioritize web-standards-based tools (using native Request, Response, Fetch APIs) because code becomes portable across frameworks like Hono, SvelteKit, and others without full rewrites. Avoid alpha-stage frameworks for production; favor ecosystems large enough that AI coding tools have sufficient training data to assist effectively.

What It Covers

Wes Bos and Scott Tolinski tackle listener questions across five topics: whether AI-generated code makes quality irrelevant, modern CSS navigation techniques using popover and dialog APIs, building a personal second brain with Obsidian and vector search, browser compatibility tradeoffs, and choosing JavaScript full-stack frameworks as a Rails developer.

Key Questions Answered

  • Code Quality with AI: Well-organized, DRY code becomes more critical as AI-assisted projects scale, not less. AI tools use TypeScript LSPs to crawl codebases by following function references, meaning messy or duplicated code actively degrades AI comprehension. Projects that start clean maintain AI effectiveness longer; codebases with drift and duplication cause compounding errors as context grows.
  • Obsidian + Vector Search Setup: Wes built a functional second brain by migrating ten years of markdown notes into Obsidian via Claude, then connecting QMK (Toby Lütke's tool) for semantic vector search. QMK vectorizes sentences mathematically, enabling fuzzy retrieval — searching "coat measurements" surfaces notes tagged "shirt size" — without requiring exact keyword matches across the vault.
  • CSS Navigation with Popover/Dialog: Using popover and dialog APIs for hamburger menus is viable but not yet production-ready for broad browser support. The recommended current approach remains JavaScript class-toggling for compatibility, while using `@starting-style` and `allow-discrete` CSS properties to animate display-none transitions represents the forward-looking standard to adopt progressively.
  • Browser Support Strategy: Rather than applying blanket rules like "support last two major versions," teams should pipe actual traffic data into caniuse to make per-feature decisions. Old iPads running outdated Safari represent the largest real-world compatibility risk. Tools like Sentry's root cause analysis AI can identify which specific browser versions trigger production errors, enabling targeted fixes.
  • JavaScript Framework Selection for Rails Developers: When choosing a JavaScript full-stack framework, prioritize web-standards-based tools (using native Request, Response, Fetch APIs) because code becomes portable across frameworks like Hono, SvelteKit, and others without full rewrites. Avoid alpha-stage frameworks for production; favor ecosystems large enough that AI coding tools have sufficient training data to assist effectively.

Notable Moment

Wes described how an AI agent, given his existing web-standards-based Express codebase, independently recognized his established coding patterns and migrated the entire project to Hono — matching his two-year-old style precisely. He noted AI now performs better inside structured codebases than generating greenfield projects from scratch.

Know someone who'd find this useful?

Episode 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 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 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 and 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 of kinds of good stuff. If you've got a question, go to syntax.fm. 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 episode. My name is Wes Bos with me as always is Scott Talinsky. 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. 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 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, 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. Without 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. 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. A JavaScript less hamburger menu slide over that whole thing with the animation. You can use, the starting style. You can use allow screen. 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 …

Get the full transcript (11,197 words) + summary by email — free

One-time email with the complete transcript and AI summary of this episode. No account needed.

One email, no spam. We’ll also show you what SignalCast does.

Browse all Syntax transcripts →

You just read a 3-minute summary of a 55-minute episode.

Get Syntax summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

Books, tools, and gear mentioned in this episode

SignalCast may earn commission on purchases via these links.

Tools

  • SentryRecommended
    Tools like Sentry's root cause analysis AI can identify which specific browser versions trigger production errors
  • HonoRecommended
    prioritize web-standards-based tools (using native Request, Response, Fetch APIs) because code becomes portable across frameworks like Hono, SvelteKit, and others
  • SvelteKitRecommended
    code becomes portable across frameworks like Hono, SvelteKit, and others without full rewrites
  • caniuseRecommended
    teams should pipe actual traffic data into caniuse to make per-feature decisions
  • ObsidianRecommended
    building a personal second brain with Obsidian and vector search... Wes built a functional second brain by migrating ten years of markdown notes into Obsidian via Claude
  • QMKRecommended

    by Toby Lütke

    connecting QMK (Toby Lütke's tool) for semantic vector search. QMK vectorizes sentences mathematically, enabling fuzzy retrieval

More from Syntax

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

Read this week's AI & Machine Learning Podcast Insights — cross-podcast analysis updated weekly.

You're clearly into Syntax.

Every Monday, we deliver AI summaries of the latest episodes from Syntax and 192+ other podcasts. Free for one show.

Start My Monday Digest

No credit card · Unsubscribe anytime