
Optimising Next.js Performance with Incremental Static Regeneration (ISR)
How ISR improves Next.js performance by mixing static speed with controlled freshness, and where it fits best over fully dynamic rendering for changing content.
Articles
This is a very broad category within my articles which encompasses any aspect of web development, from initial design and architecture to coding, testing, and deployment.
Below you will find a subset of articles from my blog specifically about Development. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are four hundred twenty‑six articles collected together for you below.

How ISR improves Next.js performance by mixing static speed with controlled freshness, and where it fits best over fully dynamic rendering for changing content.

Reversing an array in JavaScript can be done with `.reverse()`, but it mutates the original array. Here, I explore immutable methods and older techniques.

Memory leaks in React can cause sluggish performance and excessive memory usage. Here, I explore common causes, how to prevent them, and debugging techniques.

How to create custom Vue directives for DOM‑level behaviour, without reaching for them when a component, prop, or composable would do better in real interfaces.

Solve Binary Tree Level Order Traversal with breadth‑first search in TypeScript, using a queue, level sizing, edge cases, and cleaner iteration well.

Solve Subarray Sum Equals K with prefix sums and a hash map in TypeScript, including negative numbers, count storage, and why sliding window fails.

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.

Build a headless CMS‑powered Next.js site with content modelling, fetch layers, mapped front‑end shapes, preview, rendering choices, and scale cleanly.

Sorting complex arrays in JavaScript requires custom comparison functions. Here, I explore techniques for sorting numbers, objects, nested properties, and more.

Solve Word Search with backtracking in JavaScript, covering recursive path exploration, visited state, pruning, restoration, and grid trade‑offs.

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.

Solve Linked List Cycle with fast and slow pointers in TypeScript, comparing visited‑node storage with Floyd's cycle detection and common mistakes.

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

Solve Single Number in TypeScript with XOR bit manipulation, comparing hash maps, constant extra space, duplicate cancellation, and why the trick works.

How deployment expectations moved from simple Netlify static deploys towards Vercel pipelines, previews, framework builds, observability, and rollback.

Build a reusable Vue 3 composable with the Composition API, covering side effects, useOutsideClick, browser boundaries, typing, and testability well.

When you set up a custom domain in Vercel, the default `vercel.app` subdomain still serves your site, which can lead to duplicate content. Here's how to fix it.

How to solve Number of Islands with grid traversal, treating the matrix like a graph, marking visited land safely, and reasoning about DFS in TypeScript.