
Using Angular Signals for Performance Optimisation
Use Angular signals for performance optimisation with derived state, computed values, OnPush, effects, RxJS interop, and measuring whether work improved.
Articles
Website performance is about far more than chasing a Lighthouse score. It covers the speed, responsiveness, stability, and efficiency of the experience people actually receive, alongside the engineering discipline required to protect those standards across content changes, feature growth, and repeated releases.
Below you will find a subset of articles from my blog specifically about Performance. This is an area that I have worked with for many years, and have managed to write about quite a few times. There are nineteen collected together for you below.

Use Angular signals for performance optimisation with derived state, computed values, OnPush, effects, RxJS interop, and measuring whether work improved.

Memoization helps JavaScript functions run faster by caching previous results. Here's a clear guide on how and when to use memoization effectively.

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

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

useMemo and useCallbackOptimise React performance with useMemo and useCallback only where profiling shows expensive calculations, unstable functions, or avoidable re‑renders.

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.

Optimise Vue.js performance with lazy loading and code splitting, covering route‑level chunks, async components, bundle strategy, measurement, and UX.

Template‑driven vs. reactive Angular forms, and how to choose the right model for validation, scale, testing, and maintainable form logic in real apps.

How lazy loading in Angular improves performance, where route‑level splitting helps most, and how to avoid messy boundaries and loading states in larger apps.

Caching strategies for data fetching in Next.js, including force‑cache, revalidation, stale data trade‑offs, and the debugging traps teams hit in production.

Improve Angular routing with scalable URL design, lazy‑loaded feature boundaries, guarded routes, observable loading, and route‑tree maintenance.

Angular change detection explained through zone triggers, OnPush, signals, template cost, manual checks, and practical rendering optimisation at scale.

content‑visibilityUsing the CSS content‑visibility property we can control how an element interacts with the browser render, controlling when or how an element content renders.
Time To First Byte (TTFB) is a crucial influence on website performance. The easy answer is increasing server resources, but there are other considerations too.
Time To First Byte (TTFB) is a measurement of the time is takes for a server to respond to a request: how quickly your visitor can start to load your page.

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

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

Boost website performance with HTML, CSS & JavaScript optimisation. I explore techniques: lazy loading, critical CSS, script deferment for faster load times.