-
WebKit Features for Safari 27.1
Today iPhone Duo arrives, and with it, Safari 27.1. The “big news” here is no news. It’s Safari, with the same WebKit engine and the same web technologies as every other iPhone. Your websites and web apps work on iPhone…
-
Release Notes for Safari Technology Preview 255
Safari Technology Preview Release 255 is now available for download for macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General →…
-
1049: WTF is a Software Factory?
Scott and Wes talk with Adam Jacob about software factories: what they actually are, why they’re unique to each team, and how to build trust in agent-generated code. They dig into Swamp Club, black box testing, domain…
-
Blocking Identity Resolution Infrastructure
Apple and WebKit have shipped protections against web tracking for a long time. We put privacy protections in place for cookies in the very first version of Safari, we invented storage and cache partitioning and shipped…
-
1048: Deno Is Dead
Deno is shutting down and the team is heading to Cloudflare — Scott, Wes, and CJ break down what that means for the runtime, JSR, and workerd. Plus OpenCode 2.0 on durable objects, TanStack Start 1.0, SubQ Snap, Gemini…
-
Faster protection, fewer interruptions: How Microsoft Edge is rethinking updates
At a glance Microsoft Edge is developing new ways to help security updates reach people faster with less disruption. A seamless-updates prototype shows how Edge could update while work continues. Available today,…
Patrick Brosset
-
Fit height to background pattern size with calc-size()
-
1047: Adobe has a big problem
Someone just clean-room ported seven Adobe apps to Rust, and Wes is shocked at how good it is. Scott and Wes break down what it gets right, what’s still missing, and why copying software is easy but inventing what comes…
-
1046: The Pi Updates are insane
Scott, Wes, and CJ break down the latest Pi updates, including durable long-running agents, Codemode, and MCP support, then debate whether pull requests are dead in favor of issues. Plus Supabase picks up Turso, Screen…
-
The best way to use icons in Web UIs
TL;DR? Jump to demo I’ve always had a soft spot for icons 1 . Not only do they add polish to a UI, they can also tangibly improve usability. Familiar icons help users find what they need quickly, since we recognize…
-
Release Notes for Safari Technology Preview 254
Safari Technology Preview Release 254 is now available for download for macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General →…
-
1045: Who can actually max out 5 AI subscriptions?
Scott and Wes answer listener questions about what replaced blogging, what to do while your AI agent works, and who should pay for token costs. They also cover keeping agents from going off the rails, getting your team…
-
1044: Ruby on Rails is Dead
Scott, Wes, and CJ ask whether Ruby on Rails is really dead (and whether Rust is just Rails you don't have to read), then dig into Meta's new Muse agent, which is free, comes with its own VM, and is already reading…
-
New to the web platform in September
Discover some of the interesting features that have landed in stable and beta web browsers during September 2026.
-
What’s new in Svelte: October 2026
SvelteKit 3 is here! Check out the announcement post for the highlights, then run sv migrate to handle most of the upgrade for you. sv itself hit 1.0 on the same day, making the community add-on API official. Below…
Dani Sandoval
-
SvelteKit 3 is here
Version 3.0 of SvelteKit, the official application framework for Svelte, is now available. If you’ve used earlier versions of SvelteKit, everything will feel very familiar — it’s the same framework with a little more…
The Svelte team
-
1043: I’m Using GPUI For Everything
Scott and Wes ditch Electron and Tauri for GPUI, the GPU accelerated Rust UI framework from the Zed team. They get into its React-like API, styling that feels a lot like Tailwind, GPUI Kit components, the community fork…
-
1042: Is the Jev Hype Overblown?
Is Jev actually a leap forward for classification or just hype and fake demos? We dig in, plus Claude Code’s new AGENTS.md support, TinyCast (the free, open-source Raycast alternative), an iPhone Fold simulator in…
-
August 2026 Baseline monthly digest
Read about various happenings with Baseline during August 2026.
-
Detect when elements overlap with CSS
-
Release Notes for Safari Technology Preview 253
Safari Technology Preview Release 253 is now available for download for macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General →…
-
1041: What are normies using AI for?
Scott and Wes talk about how non-developers are actually using AI today. They also cover the stuff they don’t think holds up, like AI-staged listings and automated marketing. Show Notes 00:00 Intro 00:38 Welcome to…
-
New in Edge for developers – Create better components and make your site agent-ready
Welcome back to New in Edge for developers , our recurring roundup of recent web platform updates in Microsoft Edge. In this edition, we'll look more closely at some of the newest additions to Microsoft Edge and the…
Patrick Brosset
-
1040: Developing for the iPhone Duo
Scott, Wes, and CJ break down developing for the iPhone Duo with the Device Posture and Viewport Segments APIs, plus the React 19.3 release and Pi’s new Radius platform. Also on deck: Tailwind joining Shopify, Shopify…
-
Find features to support for Interop 2027 with your coding agent
Learn how you can use your coding agent to find Interop 2027 proposals to upvote, or find features to propose.
-
WebKit Features for Safari 27.0
Our Safari release notes have never been as long as they are for this version. The number of features alone rose from 58 to 80 since the first beta in June. Safari MCP makes working with coding agents dramatically…
-
1039: Should You Quit Your Job?
Scott and Wes dig into a listener mailbag full of AI questions: how to bill freelance work when the tools make you faster, whether coding still matters in interviews, and if the AI bubble is about to pop. Plus…
-
Better Icon and Label Alignment
-
1038: OpenAI Releases GPT 6 Astra
Wes and CJ dig into OpenAI’s GPT‑6 Astra; the massive jump in computer use, the wild Blender MCP 3D demos, and whether all the AGI talk actually holds up. Plus Hugging Face’s robot duck, Vitest 5 and the arrest behind…
-
Release Notes for Safari Technology Preview 252
Safari Technology Preview Release 252 is now available for download for macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General →…
-
Tailwind Labs is joining Shopify
We're joining Shopify to give Tailwind a stable long-term home where it will be actively maintained for the millions of people who depend on it.
-
1037: WebMCP is here (and you should care)
Scott and Wes talk about WebMCP with Sarah Drasner and Dominic Farolino from the Chrome team, which is the new W3C standard that lets your site hand real tools to an agent. They cover the security model, headless and…
-
Faster reviews and quality recognition for Microsoft Edge extensions
Building an extension has never been easier. Rapid adoption of AI-assisted coding is enabling developers to build extensions faster than ever. We have seen that momentum on the Edge Add-ons site . More developers are…
Microsoft Edge Team
-
1036: Cursor & OpenAI Break Up
The messy breakup is official; as of November 12, OpenAI's models are getting pulled from Cursor, and we're digging into who's really to blame (and why Wes called it). Plus pnpm 12 goes full Rust, Mitchell Hashimoto…
-
Submit your ideas for Interop 2027
It’s that exciting time of year again when we start considering Interop proposals for next year! We’re thrilled to invite you to help shape the future of web interoperability. Interop 2027 is just around the corner, and…
-
Calling for Interop 2027 proposals
The Interop 2027 call for proposals is open, submit your ideas now ! Over the past six years, the Interop project has helped bring key web platform features to a state where developers can rely on them across browsers.…
Patrick Brosset
-
Submit your proposals for Interop 2027
It's time to let us know which web platform features should be part of Interop 2027.
-
Fixing Top-Level Await in Safari
WebKit for Safari 27 adds full spec compliance for top-level await . Before now, some of you may have run into unexpected “accessed before initialization” errors. We fixed it at the root by rewriting Safari’s module…
-
1035: Why everyone is moving to Stylex?
Meta’s StyleX compiles thousands of styles into a few reusable class names at build time—zero runtime, fully type-safe. Scott and Wes break down why it’s suddenly everywhere, and why it might be the best CSS tool for AI…
-
The best dark mode toggle is probably none
About a month ago, I wrote an article recommending that if you are going to have an always visible control for switching between light and dark mode, it should be a two-state toggle that alternates between system and…
-
What’s new in Svelte: September 2026
This month, Svelte 5.57 shipped with new SvelteMap methods and a few quality-of-life additions while SvelteKit 3 got closer to the finish line with its Release Candidate. The sv CLI also got a new ai-tools add-on that…
Dani Sandoval
-
Let’s Use the Emergent CSS random() Function in all the Browsers
The journey to create a polyfill for the upcoming CSS random() function that works in all browsers. Let’s Use the Emergent CSS random() Function in all the Browsers originally handwritten and published with love on…
Lee Meyer
-
What’s !important #18: <geolocation>, Syntax ::highlight()ing, named-feature(), and More
Well, that’s a wrap. No, not a flex-wrap, but rather today marks a new day, week, month, season, aaaand new edition of What’s important (#18), bringing you the best content that developers have produced over the last…
Daniel Schwarz
-
1034: Omarchy Quattro Release
Grokbot actually earns its keep, Cursor takes a swing at GitHub with Origin, and Omarchy Quattro ships pre-wired for nine coding agents. Plus: the GitHub outage post-mortem, a compromised Rust crate, native app…
-
New to the web platform in August
Discover some of the interesting features that have landed in stable and beta web browsers during August 2026.
-
Creating Web Widgets Using the Document Picture-in-Picture API
The general idea is that we create a Document Picture-in-Picture window (DPIP window), and then we put HTML, CSS, and JavaScript into it. Creating Web Widgets Using the Document Picture-in-Picture API originally…
Daniel Schwarz
-
Release Notes for Safari Technology Preview 251
Safari Technology Preview Release 251 is now available for download for macOS Golden Gate and macOS Tahoe. If you already have Safari Technology Preview installed, you can update it in System Settings under General →…
-
animation-trigger
The CSS animation-trigger property allows you to delay the start of a CSS animation until a specific trigger occurs. animation-trigger originally handwritten and published with love on CSS-Tricks . You should really get…
Saleh Mubashar
-
1033: 8 New CSS, JS and HTML Features You Should Know
Scott and Wes run through eight new CSS, JS, and HTML features landing in browsers; including the relative alpha() color function, the progress() function for calculating values between units, Promise.allKeyed(), and…
-
MicroLighter: Syntax Highlighter
Syntax highlighting for code blocks without the complicated markup, spans, classes, and bloated JavaScript, courtesy of Uncle Dave. MicroLighter: Syntax Highlighter originally handwritten and published with love on…
Geoff Graham
-
Balancing flex items with flex-wrap: balance
-
WebView2 is moving to a 2-week release cadence
Microsoft Edge is moving to a two-week release cycle , and the WebView2 Runtime is moving right along with it. Starting with 152, the WebView2 Runtime will align with Edge's new two-week major-release cadence, instead…
Microsoft Edge Team
-
Intent to Ship: JPEG XL
It isn’t often that new image formats land in browsers. In the early 2000s we had JPEG, GIF, and PNG. The 2010s gave us WebP, which was a modest step up from JPEG. But the 2020s have given us two new image formats that…
Jake Archibald
-
WordPress PHP-Only Block Registration
Seven and half years after blocks arrived in Core, WordPress introduces a way to build blocks without React annd build pipelines. All you need is PHP. WordPress PHP-Only Block Registration originally handwritten and…
Fränk Klein
-
1032: Stripe Buys OpenRouter for $7B
Scott and CJ break down Stripe's $7B acquisition of OpenRouter, the SvelteKit 3 release candidate, and their first look at TanStack Charts. Plus Zed's new Delta editor, stealing reasoning traces from proprietary LLM…
-
Resolved: CSS Class Prefix Selector
A newly resolved proposal would allow us to select classes that are a prefix for variations with a wildcard, like .prefix-* . Resolved: CSS Class Prefix Selector originally handwritten and published with love on…
Geoff Graham
-
CSS Navigation Matching, Early Days
Apply a style when someone navigates from one specific page to another. The idea being it'd make the sources for cross-document view transitions declarative in CSS rather than managing that stuff in JavaScript. CSS…
Geoff Graham
-
1031: My Coding Skills Are Atrophying
Scott and Wes answer your questions about coding in the AI era, atrophying skills from too much autocomplete, whether it’s finally time to leave VS Code, chasing flow state with agents, and which single AI subscription…
-
WordPress.com Student Plan
As someone who teaches beginning web development, I find that building a WordPress site makes for a great final project. Hosting those projects has always been a roadblock though. WordPress.com Student Plan originally…
Geoff Graham
-
Dark mode toggles: two states are enough
Lea's pushing back on light/dark mode implementations that display three state options for visitors: light, dark, and system. Dark mode toggles: two states are enough originally handwritten and published with love on…
Geoff Graham
-
1030: AI Assistant Hacks Gym
An AI assistant goes rogue and hacks a gym website, a $9k surprise Cloudflare bill lands in someone’s inbox, and AI subscriptions start promising unlimited usage. Plus Meta’s Muse Glimmer, Agent Plugins, Kimi K3 in…
-
What’s !important #17: Custom Highlight API, CSS Navigation Matching, Fixing text-stroke, and More
Plus, how to style skeleton UIs, how to enable diagonal scrolling, how images can overflow themselves, and yet, still more. Basically, how to do a lot of really cool (CSS) stuff. What’s !important #17: Custom Highlight…
Daniel Schwarz
-
The SvelteKit 3 Release Candidate is here
SvelteKit 3 is now in the Release Candidate phase. If all goes well — meaning that people like you try it out and find that it works as expected — we will follow it up with a stable release in the near future, with no…
The Svelte team
-
Blocked aria-hidden: The Warning is Right, and Every Fix You’ve Found is Wrong
The warning is correct. And the recommended fixes you've probably seen are wrong. Here's what you can do instead to properly fix the issue. Blocked aria-hidden: The Warning is Right, and Every Fix You’ve Found is Wrong…
Durgesh Rajubhai Pawar
-
1029: The Workflow of the Future With Zed
Nathan Sobo joins Scott and Wes to explain why Zed was built in Rust, how GPUI works, and what happens to editors once agents write most of the code. They also talk about DeltaDB, Zed’s new Git-compatible version…
-
Animating CSS border-image
Border images are an overlooked feature. One neat fact is that border image slices can run across entire borders on an element, and animating it creates beautiful effects. Animating CSS border-image originally…
Preethi
-
SmashingConf Freiburg 2026, September 7-10
Smashing Magazine’s in-person conferences are back and returning to the wonderful city of Freiburg next month, September 7–10. SmashingConf Freiburg 2026, September 7-10 originally handwritten and published with love on…
Geoff Graham
-
1028: Cloudflare Wallets
Cloudflare is rolling out crypto wallets with claimable handles as identity, and a real React compiler finally landed for regular hooks-based code. Plus: OpenAI's pricing war, Vue Vapor benchmarks, GitHub's new npm…
-
July 2026 Baseline monthly digest
Read about various happenings with Baseline during July 2026.
-
Moving the Microsoft Edge extensions ecosystem forward with Manifest Version 3
Back in 2020, we committed to Manifest Version 3 (MV3) as the future direction of the Chromium extensions platform. Since then, we've worked with developers, listened to feedback, and continued evolving Microsoft Edge…
Microsoft Edge Team
-
Using and Styling the Dialog Element
There's a lot of nuance to the element, a seemingly little piece of web architecture. I've got some notes from digging into it. Using and Styling the Dialog Element originally handwritten and published with love on…
Geoff Graham
-
Dark mode toggles: two states are enough
A good two-state toggle can actually express all three data model states. Until recently, if you looked at most websites with a theme toggle 1 , you’d find three options: Light , Dark , and System . figure {…
-
1027: The Rise of the Design Engineer
Scott and Wes tackle your questions on the rise of the design engineer, why AI still lacks “taste” (and why it’s about more than just looks), and how to actually write tests in the age of AI-assisted coding. Plus: is AI…
-
Bring your security stack into Edge for Business — with support for more partners
At a glance Edge for Business security connectors extend your security tools into the browser, so you gain visibility and enforcement where work happens. This update adds new partner integrations, including Cisco Secure…
Microsoft Edge Team
-
1026: OpenAI Agent Hacks Hugging Face
A rogue OpenAI agent allegedly hacks Hugging Face, the React Compiler lands in Rust, and a fresh Rust full-stack framework ships. Scott, Wes, and CJ also dig into Anthropic’s $1.5B copyright settlement, Claude Opus 5,…
-
What’s new in Svelte: August 2026
The biggest news this month is the first @next releases of SvelteKit 3. Thirteen preview versions shipped in July: previewing new $app/manifest and $app/service-worker modules, improved API availability and type…
Dani Sandoval
-
New to the web platform in July
Discover some of the interesting features that have landed in stable and beta web browsers during July 2026.
-
The CSS lh unit
-
1025: The Open Web's second chance (w/ Dan Abramov)
Dan Abramov joins Scott and Wes to explain AT Protocol, the open standard quietly rebuilding the social web. They get into how it actually works, why it’s way bigger than just Bluesky, and why Dan calls it one of the…
-
1024: Open Models Replace Big AI
A huge week for open models: Inkling (the first big US open-weight model since Gemma 4), Qwen 3.8, and Kimi 3 all dropped. Plus Vue 3.6 RC + Vapor Mode, the slow death of Stack Overflow, a decoy font that blinds AI, and…
-
The Baseline Features audit is now available in Lighthouse
Learn which web features are used on a page—and their Baseline status—with the new Lighthouse Baseline features audit.
-
1023: Mosh, Caddy & Tailscale: A Remote Dev Deep Dive
Running your dev process off your main machine doesn’t have to mean the cloud. Scott and Wes break down how to host projects on a box you can reach from any device, close your laptop mid-build, and keep long-running…
-
1022: Bun re-written in Rust, Zig team big mad
CJ and Scott break down the biggest week in web dev: TypeScript 7 ships with a 10x-faster native port, Bun gets rewritten in Rust (much to the Zig team’s dismay), and Better Auth joins Vercel. Plus GPT-5.6 first…
-
Rebuilding FIFA Standings Layout with CSS Subgrid
-
June 2026 Baseline monthly digest
Read about various happenings with Baseline during June 2026.
-
1021: We got addicted to an AI model we can't talk about
Dax Raad, co-founder of OpenCode, joins Scott and Wes to talk remote dev servers, OpenCode 2.0, and why his team is “addicted” to AI models they’re not even allowed to name yet. Show Notes 00:00 Intro 00:43 Welcome to…
-
1020: Do You Read The Code?
Auto-accept on, brain off? We’re getting into whether anyone actually reads the code they ship anymore — then it’s HTTP’s first new method in 16 years (meet QUERY) and OpenAI’s compute-hungry “Sol Ultra” tier landing in…
-
In defense of polyfills
If you’re a web developer, you may find the title baffling. “Polyfills need defending? Who’s against them?!” you might ask. Two weeks ago, I’d be in the same boat. Polyfills and I go way back. I dug up a JSConf EU talk…
-
1019: LGTM, Ship It: The AI Code Review Problem
This episode tackles the growing pains of AI-assisted development, from the struggle of reviewing thousands of lines of agent-generated code to the mounting technical debt when teams merge PRs without meaningful human…
-
New in Edge for developers – Style layout gaps, improve keyboard accessibility and migrate your PWA to a new origin
Welcome to New in Edge for developers , a new series featuring recent web platform updates in Microsoft Edge that help web developers build better sites and apps. In this first edition, we'll look at CSS gap decorations…
Patrick Brosset
-
1018: Google fires Workspace CLI Creator
Google fires the engineer behind its Workspace CLI tool, OpenAI previews GPT-5.6 with three new model tiers, and Astro 7 lands with a full Rust rewrite. Plus: Coinbase cuts token costs with smarter routing, and more in…
-
1017, We need to stop calling it “AI”
Scott and Wes raid the listener mailbag to settle the pnpm vs. npm debate, decode how web standards sneak into your browser, and ask the big one: is “AI” even intelligent, or just fancy autocomplete? Plus Stack Overflow…
-
What’s new in Svelte: July 2026
This month brought a real shift in how SvelteKit projects are configured. You can now define your SvelteKit config directly inside vite.config.js and skip svelte.config.js entirely. We also got the first preview of…
Dani Sandoval
-
New to the web platform in June
Discover some of the interesting features that have landed in stable and beta web browsers during June 2026.
-
1016: More Bots Than Humans
Wes, Scott, and CJ break down the latest web dev news. From AI agents and coding tools to Deno Desktop, Nub, and predictive UX. They also discuss bot-filled social media, remote work debates, and a slick 3D bookstore…
-
1015: Browsers and UIs are dead. Everything is chat
Is the web dead, or just evolving? Wes Bos breaks down his JS Nation Amsterdam talk on agentic interfaces, why chat won’t replace everything, how Web MCP lets agents interact with your existing sites, and what “Clicks…
-
PACT: Anonymous Credentials for the Web
This is the technical companion to our update on Distilled, “Keeping the web open and private in the bot era.” Here we take a deeper look at the problem space, the design we’re proposing, and the problems still left to…
Dennis Jackson
-
1014: Anthropic doesn’t use AI
Scott, Wes, and CJ reunite fresh off a trip to Amsterdam to chat conferences, burnout, and whether Anthropic actually uses AI. They also dig into a packed bag of sick picks and tech news, including HTML streaming in…
-
1013: Cloudflare Acquires VoidZero
Live at JSNation in Amsterdam, Scott, Wes, and CJ break down Cloudflare’s acquisition of VoidZero, the company behind Vite, Vitest, Rolldown, and Oxc. They dig into why this is genuinely exciting, not scary, covering…
-
1012: Who Decides What Ships on the Web?
Scott and Wes sit down with Jake Archibald from Mozilla to unpack how web standards actually get made at Firefox. From browser features and developer feedback to the drama around the Prompt API. They discuss Interop…
-
Faster updates, enterprise-friendly schedule: the new Microsoft Edge release cycle
Microsoft Edge is moving to a two-week release cycle, bringing new features and improvements to users and organizations faster than ever. This is great news for teams that thrive on innovation: instead of waiting a full…
Microsoft Edge Team
-
1011: tmux + Terminal Maxxing with Ben Vinegar
Scott and Wes sit down with Ben Vinegar, former Syntax GM and founder of Modem.dev, to geek out over terminal-maxxing, from SSH-based development and tmux workflows to AI-powered coding agents. Ben also demos two of his…
-
1010: No one cares anymore?
On this episode, Scott and Wes dig into the messy reality of modern front-end work, from struggling to find skilled devs and navigating team chaos to questioning code quality, testing, and even whether AI is stealing…
-
Expanding on‑device AI in Microsoft Edge: New models and APIs for the web
At Build 2025, we introduced the Prompt and Writing Assistance APIs in Microsoft Edge with the Phi-4-mini language model. Since then, we've heard from web developers, incorporated your feedback, and expanded Edge's…
Patrick Brosset
-
1009: 54% AI-Generated and Climbing — State of AI
Scott and Wes react to the freshly released State of AI 2026 survey, covering everything from skyrocketing AI adoption and the rise of coding agents to the pain points, job security fears, and big philosophical…
-
What’s new in Svelte: June 2026
This month we got a bunch of improvements in SvelteKit’s forms and remote functions. Plus, a new query function ( .live(...) ) that makes accessing real-time data from the server easier. Keep an eye out for a few…
Dani Sandoval
-
1008: Diffs, Trees, and VS Code 2.0
Scott and Wes sit down with Alex Sexton and Amadeus De Marzi from Pierre Computer to dig into the gnarly performance challenges behind building blazing-fast code review tools, covering virtualization, progressive…
-
1007: 8 Tech Choices to Lock In Before Agentmaxxing
Wes and Scott talk about the foundational decisions that make AI-assisted coding actually work—database schemas, validation, routing, CSS structure, and more. They explore why consistency matters more than specific…
-
Announcing Web Serial Support in Firefox
Support for Web Serial in Firefox 151 for Desktop Firefox can now connect directly to microcontrollers, development boards, 3D printers, power meters, and other serial-connected hardware from the web. Starting in…
Haik Aftandilian
-
1006: Can AI Make Good Design?
Wes and Scott talk about whether AI can actually create good design, or if it just remixes the same patterns over and over. They dig into AI-generated UX, design systems, YouTube thumbnails, Google’s design.md spec,…
-
1005: Programatic and Skill based Video Creation with Remotion
Scott and Wes are joined by Jonny Burger, creator of Remotion, to talk about the explosion of programmatic video, going from 125k to 800k installs per day, and how AI and a new HTML-in-Canvas Chrome spec are changing…
-
Better fluid sizing with round()
-
1004: TanHacked
Scott and Wes break down the “Mini Shai-Hulud” supply chain attack that compromised TanStack and other popular npm packages through a clever GitHub Actions cache poisoning exploit; a self-propagating worm that stole…
-
1003: Skills Skills Skills
Scott and Wes chat all things agent skills for web developers, sharing their favorites for everything from CSS animations and HTML generation to logo extraction, marketing copy, and video creation. Whether you’re just…
-
Tailwind CSS v4.3: Scrollbars, new colors, and more
Tailwind CSS v4.3 is here with first-party scrollbar styling, even more logical property utilities, new zoom and tab-size utilities, better @variant support, and all the v4.2 stuff we shipped while forgetting blogs…
-
Behind the Scenes Hardening Firefox with Claude Mythos Preview
@media all and (min-width: 640px) { .post p, .post ul, .post ol, .post dl, .post pre { max-width: initial; } .post table td, .post table th { vertical-align: top; } } Two weeks ago we announced that we had identified…
Brian Grinstead
-
1002: The Real Pricing of LLMs
In this potluck episode of Syntax, Wes and Scott answer your questions about LLM usage-based pricing, security risks from malicious code in interviews, staying current in a fast-moving dev landscape, a new CSS linter,…
-
Trustworthy JavaScript for the Open Web
The open web is a critical platform for applications that handle highly sensitive data, from private communications to financial transactions and medical records. Traditionally, servers are trusted to deliver the…
Firefox Security Team
-
1001: Managing Deadlines + Stress
Scott and Wes tackle the all-too-real stress of crunch time as a web developer—how to handle looming deadlines, avoid sloppy shortcuts, and stay methodical when everything feels like it’s falling apart. They share…
-
Media Queries Range Syntax
-
What’s new in Svelte: May 2026
This month we got a ton of improvements to SvelteKit’s remote functions, TypeScript 6.0 support and the experimental release of community plugins in the Svelte CLI. Svelte was also featured in ThoughtWorks Technology…
Dani Sandoval
-
1000: Syntax Episode 1,000!
Wes and Scott celebrate 1000 episodes of Syntax, reflecting on how the podcast started, the team behind it, memorable moments, listener stats, inside jokes, and how the show has evolved over time—from early recordings…
-
999: Writing Maintainable CSS
Scott and Wes break down what makes CSS truly manageable—from preventing style leaks and embracing fluid layouts to choosing the right methodology, whether that’s utility CSS, component-scoped styles, or CSS modules.…
-
998: How to Fix Vibe Coding
Wes and Scott talk about making AI coding more reliable using deterministic tools like fallow, knip, ESLint, StyleLint, and Sentry. They cover code quality analysis, linting strategies, headless browsers, task…
-
997: Rating and Roasting Your Projects
Scott and Wes dig into a huge batch of community-submitted projects, from JSON tools and CSS editors to AI agents, view transitions, and everything in between. It’s a rapid-fire showcase of what developers have been…
-
996: 10 New CSS and HTML APIs
Wes and Scott talk about the latest CSS and browser features, including the Grid Lines API for masonry layouts, HTML in Canvas, name-only container queries, CSS random, search-text styling, and more. Show Notes 00:00…
-
995: Next.js Vendor Lock-in No More
In this episode, Scott and Wes sit down with Tim Neutkens and Jimmi Lai from the Next.js team to dig into the new Adapters API, what it takes to run Next.js across platforms like Cloudflare and Netlify, and how caching…
-
994: AI Sucks At CSS
In this potluck episode of Syntax, Wes and Scott answer your questions about AI struggles with CSS and design workflows, learning vs relying on AI, debugging web performance, beginner soldering setups, navigating AI-era…
-
993: It’s Been A Hell Of Week
Scott and Wes break down a chaotic week in dev news — the Claude Code source leak, a nasty Axios npm supply chain hack, and Railway’s private cache exposure — plus how to keep these nightmare scenarios from hitting your…
-
992: Migrating Legacy Code Just Got Easier
Wes and Scott talk about migrating large codebases with AI — how to plan framework and language moves, establish patterns, handle templating changes, test thoroughly, safely deploy, and more. Show Notes 00:00 Welcome to…
-
What’s new in Svelte: April 2026
This month, a new best practices guide was added to the Svelte docs. Check it out, if you haven’t already! On the code side, the Svelte MCP got even easier to use with improvements to the official OpenCode package.…
Dani Sandoval
-
991: Vite’s bet on Cloudflare (VOID Framework)
Vite just launched Void, a fullstack JavaScript framework and cloud platform that bundles together routing, SSR, auth, an ORM, and nearly everything you’d expect from a modern meta-framework — all built on top of…
-
Firefox Developer Edition and Beta: Try out Mozilla’s .rpm package!
In January, we introduced our Nightly package for RPM-based Linux distributions. Today, we are thrilled to announce it is now available for Firefox Beta! Firefox Beta is great for testing your sites in a version of…
Bastien Orivel
-
990: Vite Is Taking Over (Vite+)
Wes, Scott, and CJ talk about Vite+, a unified JavaScript toolchain that combines linting, formatting, task running, monorepos, and more. They break down its evolution, open-source shift, performance gains, Node version…
-
989: State of JS 2025
Scott and Wes dig into the latest State of JS survey results, breaking down which JavaScript libraries, frameworks, and tools are rising, falling, or holding steady in the ever-shifting JS ecosystem. From front-end…
-
988: Cloudflare’s Next.js Slop Fork
Wes and Scott talk with Steve Faulkner about vinext, a Vite-powered Next.js fork. They dive into AI coding workflows, agent browsers, code quality, and what modern dev tooling looks like in an AI-first world. Show Notes…
-
987: Remote Coding Agents
Scott and Wes break down the world of remote coding agents — what they are, why you’d want one, and all the different ways you can run them, from Cursor Cloud and Claude Code to an old laptop sitting on your floor. They…
-
986: Does Code Quality Matter Anymore?
In this potluck episode, Wes and Scott answer your questions about popover navigation patterns, the Vibrate API on iOS, whether code quality still matters in the AI era, Wes’s evolving Obsidian second-brain setup, where…
-
985: Stop putting secrets in .env
Scott and Wes are joined by Phil Miller and Theo Ephraim to talk about Varlock, a new approach to environment variables that adds schemas, validation, and security to the humble .env file. They dig into the risks of…
-
984: How to Make a DOM Library Render Anything w/ Paolo Ricciuti
Wes and Scott talk with Paolo Ricciuti about Svelte custom renderers and how Svelte actually talks to the DOM. They dig into compiler internals, CSS handling, native bridges, and the realities of maintaining ambitious…
-
983: Why I Chose Electron Over Native (And I’d Do It Again)
Wes and Scott talk about building v_framer, Scott’s custom multi-source video recording app, and why Electron beat Tauri and native APIs for the job. They dig into MKV vs WebM, crash-proof recording, licensing with…
-
External import maps, today!
A few weeks ago, I posted Web dependencies are broken. Can we fix them? . Today’s post is a little less gloomy: Turns out that the major limitation that would allow centralized set-it-and-forget-it import map management…
-
What’s new in Svelte: March 2026
This month, we got a ton of new features across Svelte, SvelteKit and even the Svelte CLI. Plus, the State of JS 2025 is out and Svelte continues to hold the top spot among reactive frameworks in terms of positive…
Dani Sandoval
-
Why is WebAssembly a second-class language on the web?
This post is an expanded version of a presentation I gave at the 2025 WebAssembly CG meeting in Munich. WebAssembly has come a long way since its first release in 2017. The first version of WebAssembly was already a…
Ryan Hunt
-
982: Bots Are Ruining the Internet
Wes and Scott talk about the latest dev news: Node enabling Temporal by default, OpenAI acquiring OpenClaw, TypeScript 6, new TanStack and Deno releases, the explosion of AI agent platforms, and more. Courtney…
-
Goodbye innerHTML, Hello setHTML: Stronger XSS Protection in Firefox 148
Cross-site scripting (XSS) remains one of the most prevalent vulnerabilities on the web. The new standardized Sanitizer API provides a straightforward way for web developers to sanitize untrusted HTML before inserting…
Tom Schuster
-
981: Browsers Are Finally Catching Up (Interop 2026)
Scott and Wes unpack Interop 2026 and the browser features finally aligning across engines, from container style queries and anchor positioning to scroll-driven animations and view transitions. They break down what it…
-
980: AI Coding Explained
Wes and Scott talk about the state of AI coding in 2026—from editors and models to agents, skills, slash commands, MCPs, and more. They unpack what these things actually do, how they overlap, and how to use them…
-
979: WebMCP: New Standard to Expose Your Apps to AI
Scott and Wes unpack WebMCP, a new standard that lets AI interact with websites through structured tools instead of slow, bot-style clicking. They demo it, debate imperative vs declarative APIs, and share their hottest…
-
Launching Interop 2026
The Interop Project is a cross-browser initiative to improve web compatibility in areas that offer the most benefit to both users and developers. The group, including Apple, Google, Igalia, Microsoft, and Mozilla, takes…
Jake Archibald
2 feed(s) failed to load
- 2ality: HTTP 404
- Chrome for Developers: HTTP 404