Blog
Practical notes on JavaScript tooling, module systems and the platform decisions behind the work we do
-
Astro Actions: Form Validation That Survives JS
Astro Actions form validation gives HTML forms typed server checks, field errors and zero-JavaScript submission without a hand-written API route.
-
Node.js Fetch Timeout: Cancel the Whole Request
Set a Node.js fetch timeout with AbortSignal, preserve caller cancellation, and keep the deadline active while reading the response body.
-
Serverless Postgres Connection Pooling: Pick One
Transaction-mode pooling, RDS Proxy or Hyperdrive: how to stop serverless Postgres running out of connections, and what each choice breaks.
-
stale-while-revalidate: Cache-Control for CDNs
How stale-while-revalidate actually behaves in Cache-Control, why s-maxage can silently disable it, and what CDN-Cache-Control fixes.
-
React Compiler: How to Adopt It Incrementally
React Compiler 1.0 is stable, but on an existing app scope it to one directory or a runtime gate first, and fix the lint errors before you compile.
-
Nuxt 5 Upgrade: What to Fix Before It Lands
Nuxt 5 is not released yet, but future.compatibilityVersion: 5 lets you fix most of the breaking changes now, before Nitro 3 lands.
-
Vitest Browser Mode: When to Replace jsdom
Vitest Browser Mode runs component tests in a real Chromium instead of jsdom, and here is what it fixes, what it costs and when jsdom still wins.
-
AsyncLocalStorage: Request Context in Node.js
AsyncLocalStorage gives Node.js request-scoped context without passing an argument through every function: the setup, the pitfalls and the cost.
-
npm Trusted Publishing: OIDC Instead of Tokens
npm trusted publishing swaps stored tokens for short-lived OIDC credentials from CI. The GitHub Actions setup, the traps, and what it leaves open.
-
SvelteKit Remote Functions: Worth the Flag?
SvelteKit remote functions replace load functions and form actions with typed server calls, but they are still behind an experimental flag.
-
Web Push Notifications on iOS: Safari's Rules
Web push works on iOS only for web apps added to the Home Screen, and Safari revokes permission if a push arrives showing nothing.
-
Popover API vs dialog: How to Choose an Overlay
Use dialog with showModal when the page behind must go inert, and the Popover API for menus, tooltips and toasts that never block it.