Monthly-ish learnings and discoveries related to frontend, the web, and software engineering in general.
Curated by me, Andreas 👋 mostly for myself and my dear coworkers at DigitalService.
🌱 March 2026
Vite+, accessible custom keyboard focus, agentic engineering patterns-
Vite+, the “unified toolchain for the web”, has been released in alpha—fully MIT-licensed and open source 🎉 Vite+ combines linting, formatting, testing, bundling, Node version management, package management, and more in a single CLI. Still early days, but this is likely to become the tool for web development soon.
-
Roving Tabindex is a pattern for implementing custom focus by smartly setting
tabindex, and letting the browser handle the rest. -
Lately I’ve been relying heavily on bookmarklets to test things on websites by manipulating font sizes, zoom levels, and highlighting elements. Here’s a guide for creating your own.
-
setHTML and the Trusted Types API, two recent additions to the web platform that aim to make handling untrusted inputs more secure, reducing the risk of XSS attacks.
-
When I last checked TanStack, it was a router and async state management library for React. Since then, they’ve added many libraries, including tables, forms, databases, and virtual lists—many of which support multiple frameworks beyond just React. They’re even building their own metaframework!
-
OpenCode is my preferred way of using AI for coding. If you’re not familiar with it, here’s an in-depth tutorial.
-
Agentic engineering patterns, a collection of best practices for getting the best results out of coding agents. I found Writing code is cheap now and Red/green TDD to be particularly insightful.
-
Coding in the Red-Queen Era, a reflection on balancing productivity, learning, and thinking when using AI for coding—and which skills continue to be valuable.
Notable releases:
-
Vite 8, replacing esbuild and Rollup with a faster, unified bundler during both development and production; as well as integrated devtools and built-in support for tsconfig
paths. -
TypeScript 6, released in beta last month, is now stable, bringing numerous default changes and deprecations to prepare for the full Go-rewrite of TypeScript in v7.
-
npm 11, improving security by introducing a
minimumReleaseAgesetting and a flag to disable Git dependencies. -
Astro 6, shipping the Font API, and stabilizing Content Security Policy support, alongside other DX improvements.
-
Java 26, focused on reliability and performance, with some iterations on preview features, and preparations “to make
finalmean final.” -
Nuxt 4.4, with improved APIs for custom fetch handlers, better typing of layouts,
useAnnouncerfor better screenreader support of dynamic page sections, build profiling, and much more. -
Safari 26.4, adding support for CSS Grid Lanes, name-only container queries, and a long list of fixes and compatibility improvements.
-
Ghostty 1.3, implementing some long-requested features such as search, drag & drop for split views, and improvements to scrolling, notifications, keybindings, and updating.
Previous editions
- 🧘♀️ February 2026: Interop 2026, framework design for AI, keyboard shortcuts
- 🦕 January 2026: The web in 2025 and beyond, pre-commit hooks, accessibility checks
- 🎅🏻 December 2025: CSS Wrapped, parsing and validating, newly supported web standards
- 🚴♂️ November 2025: Date pickers, designing URLs, rotting software
- 🎃 October 2025: Making progress, CSS colors, lots of releases
- 💨 September 2025: Supply-chain security, platform APIs, evil package managers
Find all previous editions in the archive.