Blog
Thoughts, updates, and practical deep-dives into modern software engineering and digital innovation. We share insights on high-performance architecture, web standards, and the technical decisions behind building scalable, resilient technology.

light-dark() and color-mix(): Theming Without a Flash, Without JavaScript
The specific bug JS-based theme toggles produce is a flash of the wrong theme on load - a different failure from general FOUC, and the distinction matters for how you fix it. light-dark() plus color-scheme render the correct theme in the first paint, and color-mix() derives an opacity scale from it without a build step.
ArchitecturePerformance
Container Queries: Why the Component, Not the Viewport, Should Decide
A media query breakpoint answers a question a component doesn't need answered: how wide is the browser window. A component that appears in a sidebar and a full-width hero needs to know its own width instead - that's what container queries measure, and they're Baseline-supported now.
ArchitectureCSS
The Content-Type Contract: Serving Markdown vs HTML to AI Agents
AI crawlers don't want your heavily styled DOM. They want pure, parseable text. Here is how to use HTTP Content Negotiation to serve Markdown variants of your pages, the engineering behind llms.txt, and why dedicated endpoints are the future of SEO.
Agent ReadinessArchitecture
CSS Containment & Content-Visibility: Rescuing the Main Thread
Rendering massive DOMs destroys your Interaction to Next Paint (INP) score. Here is a deep dive into how to use the contain property and content-visibility: auto to isolate layout and paint calculations, saving precious main thread computation time.
PerformanceArchitecture
Zero-Latency i18n: Language Negotiation at the Edge
Auto-redirecting users based on Geo-IP is a massive anti-pattern that breaks crawlers, ruins caching, and adds latency. Here is how to handle Accept-Language headers and route users at the CDN edge without destroying your Core Web Vitals.
InternationalisationArchitecture
Inert, Dialog, and the Death of Z-Index Hacks
For fifteen years, we wrote complex JavaScript to trap focus in modals and fought endless z-index wars. The native web has finally solved this. Here is a deep dive into the <dialog> element and the inert attribute.
AccessibilityModern Web APIs
Service Workers in 2026: Beyond the Offline Dinosaur
Service Workers are for more than just caching assets for offline mode. They are the ultimate tool for network resilience, background sync, and decoupling your UI from the network.
ResilienceArchitecture
Speculation Rules API: Zero-Latency Navigation Without an SPA Router
The Speculation Rules API lets an MPA prerender the next page before the click, without the bundle cost or hydration overhead of a client-side router. It ships in Chrome and Edge only - Safari has it behind a disabled flag, Firefox hasn't shipped it - and the eagerness setting determines whether you accelerate real navigations or waste bandwidth speculating on ones that never happen.
ArchitecturePerformance
Structuring for AI Crawlers: What Actually Works, and What llms.txt Doesn't Prove
A 300,000-domain study found llms.txt presence added noise, not signal, to predicting AI citation frequency - and no major AI vendor has confirmed it fetches the file. The techniques that do have evidence behind them are less exciting and already covered elsewhere on this site: raw HTML content, semantic tables, and structured data your crawler never has to render.
AEOArchitecture
Subresource Integrity (SRI) in a Dynamically Imported World
Securing static script tags is easy. Securing a modern JavaScript application that heavily relies on dynamic import() and third-party vendors is significantly harder. Here is how to handle CSP and SRI hashes alongside JavaScript Import Maps.
SecurityArchitecture
View Transitions on MPAs: SPA-Feeling Navigation Without a Router
Same-document view transitions reached Baseline in October 2025 across Chrome, Firefox, and Safari. Cross-document transitions - the ones that make a real multi-page site feel like an SPA - are shipped in Chromium and reported inconsistently elsewhere; this article states what's actually verifiable and how to check the rest yourself before you ship.
ArchitecturePerformance
Native Web Components Instead of Hydration: What customElements.define() Actually Buys You
The hydration 'uncanny valley' is the interval where a framework-rendered page looks interactive but isn't. Native custom elements skip the framework entirely for isolated interactive widgets - but a custom element with heavy connectedCallback logic is not automatically zero-cost, and this article is precise about which part of the cost that architecture removes.
ArchitecturePerformance