
React: Functional, Class, and Pure Components
Compare React functional, class, and pure components, including reusable component design, presentation boundaries, legacy patterns, and when each fits.
Articles from more than two decades of building, rebuilding, debugging, and leading web projects.

Compare React functional, class, and pure components, including reusable component design, presentation boundaries, legacy patterns, and when each fits.

What a software engineer does day to day, from understanding requirements and writing code to testing, maintenance, teamwork, and long‑term system improvement.

It is fair to say that the programming and technology job markets are fairly buoyant, and now has never been a better time to make a career change.

Preview Mode in Next.js explained with a headless CMS, draft content workflows, preview cookies, and how editors can see unpublished pages safely.

Website theft is frustrating, but there are practical ways to spot it and respond. This guide covers copied text, copied code, and escalation options.

Sort object keys in JavaScript by extracting entries, ordering keys, rebuilding objects, and understanding when predictable key order is useful clearly.

Plan CMS preview in Gatsby workflows by setting expectations around draft content, preview builds, webhooks, deployment timing, and editor confidence.

Disable Gatsby telemetry cleanly, with context on what anonymous analytics collect, why teams opt out, and how the setting affects local and CI work.

p Tags from Contentful List ItemsOne of the quirks of rendering Rich Text from Contentful is that list items come wrapped in paragraph <p> tags. Fortunately, this is a simple one to resolve.

Render CMS rich text safely in Gatsby and React with node mapping, link handling, embeds, headings, validation, and failure‑safe fallbacks.

Contentful rich text and Gatsby work well together until code snippets enter the picture. This guide shows how to render inline and block code cleanly.

Why Gatsby and Contentful can still work well for static sites, where the pairing becomes strained and when migration pressure is worth reviewing.

An exploration of array‑like objects in JavaScript. Explanations of their unique characteristics and how to navigate them easily in front‑end development.

Replace Gatsby inline styles with an external stylesheet when needed, weighing render speed, caching, CSS Modules, styled‑components, and cleaner output.

Based in Brighton, I offer expert web development services in the South East. With more than 20 years of experience, I deliver tailored, future‑proof solutions.
Although an extremely useful aspect of Gatsby, source maps cause a performance hit as well as leaving your source exposed. Here is how to turn them off!

next/image`next/image` explained with responsive sizing, lazy loading, layout shift reduction, and why image optimisation matters in real Next.js applications.

How responsive images make front‑end pages faster by serving suitable sizes, preserving quality, reducing wasted bytes, and avoiding layout shifts.

gatsby‑image Even FurtherOptimise gatsby‑image further with sensible maxWidth, quality settings, native lazy loading, GraphQL image data, and avoiding oversized assets in Gatsby.

Finding and replacing numbers in a string with JavaScript is a relatively straightforward task, although which regex you use (and how) can impact readability.

Browsers now support the 'copy' element event, which allows developers to intercept and modify content placed onto a clipboard, when copied from their site.