Skip to content
// writing

Posts tagged #performance

A mix of technical deep-dives, career reflections, and dispatches from the road.

Laravel 13 Vector Search: Semantic Queries Without a Search Service thumbnail
developmentNov 9, 2026· 4 min
Laravel 13 Vector Search: Semantic Queries Without a Search Service
Laravel 13 adds whereVectorSimilarTo, vector columns, and an AsVector cast, so meaning-based search can live in the Postgres or MariaDB database you run.
read more →
React's browser() API: Opt Out of SSR Without the Mounted-State Hack thumbnail
developmentNov 8, 2026· 4 min
React's browser() API: Opt Out of SSR Without the Mounted-State Hack
React 19.3 adds use(browser()), a first-class way to mark a component browser-only during SSR, replacing typeof window checks and useEffect mounted flags.
read more →
GraphQL @defer: Stop Letting Your Slowest Field Set Your Load Time thumbnail
developmentNov 2, 2026· 4 min
GraphQL @defer: Stop Letting Your Slowest Field Set Your Load Time
One slow resolver can hold a whole GraphQL response hostage. Here's how @defer and @stream split a query into an initial payload and patches, and what to check.
read more →
bfcache: The Instant Back Button Your Site Is Probably Blocking thumbnail
developmentNov 1, 2026· 4 min
bfcache: The Instant Back Button Your Site Is Probably Blocking
The back/forward cache restores pages from memory instantly, but an unload listener or no-store header can opt you out. Here's how to find and fix the blockers.
read more →
Nuxt SSR Streaming: Faster TTFB and the Response You Can't Change Later thumbnail
developmentOct 26, 2026· 3 min
Nuxt SSR Streaming: Faster TTFB and the Response You Can't Change Later
Nuxt 4.5 can flush your HTML shell before the page finishes rendering. Here's what experimental SSR streaming speeds up and the status code rule you need first.
read more →
Map.getOrInsert: Stop Writing the has/get/set Dance thumbnail
developmentOct 8, 2026· 3 min
Map.getOrInsert: Stop Writing the has/get/set Dance
Map and WeakMap now have getOrInsert and getOrInsertComputed, two methods that replace the check-then-set boilerplate every JavaScript codebase is full of.
read more →
Astro Live Content Collections: Fresh CMS Data Without a Rebuild thumbnail
developmentOct 5, 2026· 3 min
Astro Live Content Collections: Fresh CMS Data Without a Rebuild
Astro's live content collections fetch CMS and API data at request time with the same typed API as build-time collections, and route caching keeps them fast.
read more →
Compression Dictionaries: Ship Only the Diff When Your Bundle Changes thumbnail
developmentSep 27, 2026· 4 min
Compression Dictionaries: Ship Only the Diff When Your Bundle Changes
Compression Dictionary Transport (RFC 9842) lets the browser tell your server which file it has cached, so a redeployed bundle can arrive as a tiny delta.
read more →
Uint8Array toBase64 and toHex: Stop Round-Tripping Bytes Through btoa thumbnail
developmentSep 24, 2026· 3 min
Uint8Array toBase64 and toHex: Stop Round-Tripping Bytes Through btoa
JavaScript can finally turn bytes into base64 and hex without the String.fromCharCode and btoa dance. Here's how Uint8Array's new encoding methods work.
read more →
import defer: Lazy Modules Without Going Async thumbnail
developmentSep 21, 2026· 3 min
import defer: Lazy Modules Without Going Async
ES2026's import defer evaluates a module the first time you touch its namespace, not at startup, so heavy work leaves the cold path without going async.
read more →
// the newsletter
Don't miss the next one