
Understanding the Module Pattern in JavaScript
The JavaScript module pattern explained through closures and private state, plus the architectural lessons it still teaches modern developers today.
Articles
This is a relatively generic and broad category where I attempt to offer guidance or instruction on more‑or‑less anything related to front‑end and web development.
Below you will find a subset of articles from my blog specifically about Guides. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are three hundred fifty‑two articles collected together for you below.

The JavaScript module pattern explained through closures and private state, plus the architectural lessons it still teaches modern developers today.

Compare rendered HTML before and after a migration, checking headings, metadata, links, schema, body copy, media, crawl signals, and launch risk.

Solve Rotting Oranges with multi‑source BFS in TypeScript, treating each queue level as one minute and tracking fresh cells until spread completes.

React performance work is often about avoiding repeated effort. This guide looks at memoisation, browser caching, and smarter data‑fetching choices.

How to diagnose traffic loss after a WordPress to Next.js migration by checking redirects, rendered HTML, metadata, canonicals, and tracking noise.

Agentic systems do not replace service design. They expose weak contracts, permissions, observability, retries, state ownership, and workflow boundaries.

A WordPress to Next.js migration checklist for URLs, content models, media, preview, redirects, metadata, schema, sitemaps, SEO, and launch checks.

Solve Kth Largest Element in an Array with Quickselect in TypeScript, comparing sorting, heaps, partitioning, random pivots, and trade‑offs under pressure.

Set and MapJavaScript's `Set` and `Map` simplify common tasks like managing unique values or key‑value pairs. Here, I'll share practical examples for everyday development.

A Next.js crawlability checklist for debugging sitemaps, robots.txt, canonicals, route generation, redirects, staging leaks, missing pages, and indexation.

How to solve LeetCode Find Peak Element with binary search, and why local comparisons are enough even when the array is not sorted in the usual way.

Why JavaScript pages get crawled but not indexed, covering rendered content, metadata, canonicals, links, noindex rules, quality, and crawl signals.

A React SPA to Next.js SEO migration checklist for preserving indexing, redirects, metadata, rendered HTML, internal links, crawl paths, and launch confidence.

How to test Vue components with Vue Test Utils using realistic interactions, focused assertions, better test boundaries, and less brittle design.

How to solve Search in Rotated Sorted Array with modified binary search, identifying the sorted half each step and narrowing safely in TypeScript.

The 'Merge Two Sorted Lists' problem on LeetCode involves combining two sorted linked lists into one. Here, I explore a clear solution with TypeScript examples.

Solve Koko Eating Bananas with binary search on the answer, using feasibility checks, speed bounds, ceiling division, TypeScript examples, and edge cases.

Tail call optimisation in JavaScript, why it matters conceptually, and why patchy engine support still makes it unreliable for production recursion.