
Container Queries in CSS
CSS container queries allow elements to respond to their parent's size rather than the viewport. I explain how they work and how they improve responsive design.
Articles
Adaptive development serves deliberately different experiences for known device capabilities. That makes it a more opinionated choice than responsive development, which usually asks one codebase to flex. The writing here is interested in that distinction, and in the browser and implementation decisions that make device‑aware delivery useful rather than brittle.

CSS container queries allow elements to respond to their parent's size rather than the viewport. I explain how they work and how they improve responsive design.

aspect‑ratio for Responsive LayoutsThe CSS `aspect‑ratio` property makes it easier to maintain consistent proportions in responsive layouts. Here, I explore how it works and when to use it.

Multi‑tenant applications serve multiple customers from a single codebase. Here, I walk through building a scalable multi‑tenant web application using Next.js.

defineProperties()Object.defineProperties() gives you fine‑grained control over JavaScript objects. This guide covers descriptors, defaults, and practical use cases.

call() Method in JavaScriptUncover the capabilities of JavaScript's `call()` for invoking functions with a custom context, a key technique for effective function and method management.

instanceofUncover the differences between JavaScript's `instanceof` and `typeof` for type checking, with practical examples and insights on when to use each operator.

setInterval()A discussion about using JavaScript's setInterval for repetitive tasks. Manage intervals effectively and understand best practices for time‑bound executions.

prototype.apply() in JavaScriptUnderstand Function.prototype.apply() in JavaScript, including this binding, array‑like arguments, call() differences, dynamic invocation, and modern use cases.

hasOwnProperty() MethodDiscover JavaScript's `hasOwnProperty()` for checking an object's own properties, an essential method for accurate and reliable object property iteration.

Function.prototype.bind()Explore JavaScript's `Function.prototype.bind()` method to master function contexts and argument handling, enhancing your code's flexibility and reliability.

defineProperty()Unlock the capabilities of JavaScript's `Object.defineProperty()` for precise property control on objects, enhancing security and data integrity in your code.

setTimeout() in JavaScriptAn exploration of JavaScript's `setTimeout` function. Understand its nuances in component lifecycles, and learn effective timing strategies using it.

matchMedia MethodIn the past, we used event listeners on the Window to determine the physical dimensions of a document. Using matchMedia allows us to use media query syntax.

content‑visibilityUsing the CSS content‑visibility property, we can control when and how an element's content is rendered by the browser.

position: sticky in CSSAchieving sticky positioning on the web was once a weighty process using JavaScript to detect scroll positions and switch styles. Now, we have position: sticky!
Progressive enhancement in web development is often misunderstood: it allows us to take advantage of more modern browsers, without penalising the older ones.

Now used as almost trivial marketing buzz words, there really are significant differences between responsive and adaptive design and development techniques.

Reduce image brightness with CSS filters, including brightness(), animation, dark‑mode eye strain, visual treatment, and where filter effects are useful.