
Articles
Front‑end Development
Front‑end development is where product intent becomes the interface people actually use. My writing approaches it as engineering rather than surface decoration, with attention to browser behaviour and code that remains accessible, fast, and safe for a team to change.

Faceted Navigation SEO in Headless Commerce: Filters, Canonicals, and Crawl Control. 
Advanced Error Handling in JavaScript with try, catch, and finally. Advanced Error Handling in JavaScript with
try,catch, andfinallyGo beyond basic try/catch in JavaScript with finally, custom errors, async error handling, testing, user‑facing failures, and defensive‑code traps.

Gatsby Build Times are Slow: Fix or Migrate? Gatsby Build Times are Slow: Fix or Migrate?
Slow Gatsby builds need a clear choice: optimise plugins, data, and images in place, or move to Next.js when publishing and cache limits justify it.

GTM, Consent Tools, and Core Web Vitals: How to Audit Third‑Party Script Cost. GTM, Consent Tools, and Core Web Vitals: How to Audit Third‑Party Script Cost
Audit third‑party script cost across GTM, consent tools, analytics, experimentation, and personalisation, without breaking measurement or business workflows.

Gatsby to Next.js Migration Checklist. Gatsby to Next.js Migration Checklist
A practical Gatsby to Next.js migration checklist covering routes, data, rendering, plugins, images, redirects, preview, sitemaps, and SEO validation.

Contentful to Sanity Migration Checklist for Next.js Sites. Contentful to Sanity Migration Checklist for Next.js Sites
A practical Contentful to Sanity migration checklist for Next.js sites, covering schemas, references, preview, redirects, metadata, and SEO checks.

SEO Best Practices in Next.js: Improving Core Web Vitals. SEO Best Practices in Next.js: Improving Core Web Vitals
SEO best practices in Next.js, with a sharper focus on Core Web Vitals, stable layouts, lighter bundles, metadata, and real user measurement for search.

Why Your Next.js App Router Page is Stale: Cache Tags, Revalidation, and CMS Publishing. Why Your Next.js App Router Page is Stale: Cache Tags, Revalidation, and CMS Publishing
Debug stale Next.js App Router pages with cache tags, revalidation paths, CMS webhooks, preview freshness, dependency graphs, and simpler cache contracts.

Contentful to Sanity Migration Risks for Next.js Sites. Contentful to Sanity Migration Risks for Next.js Sites
Contentful to Sanity migration risks for Next.js sites, including models, references, rich text, preview, metadata, redirects, and launch checks.

CMS Preview Should Be a Migration Requirement, Not an Afterthought. CMS Preview Should Be a Migration Requirement, Not an Afterthought
Why CMS preview belongs in the migration plan for Next.js sites, covering draft state, auth, cookies, iframes, cache invalidation, and governance.

Should You Move from Contentful to Sanity? Should You Move from Contentful to Sanity?
How to decide whether moving from Contentful to Sanity makes sense for a Next.js website, including workflow, modelling, preview, and migration risk.

A Deep Dive into JavaScript's Proxy and Reflect API. A Deep Dive into JavaScript's
ProxyandReflectAPIA look into how JavaScript's Proxy and Reflect APIs work together to intercept and redefine object behaviour, including practical use cases and common patterns.

Fixing Contentful Preview in Next.js Draft Mode. Fixing Contentful Preview in Next.js Draft Mode
Fix Contentful preview in Next.js by checking Draft Mode, preview URLs, iframe cookies, draft data boundaries, auth, performance, and editor trust.

Privacy by Design is Not a Cookie Banner. Privacy by Design is Not a Cookie Banner
Privacy by design means building safer data handling into platforms, analytics, CRM integrations, and workflows from the start, not relying on banners later.

Next.js Build Failing on Vercel: How to Find the First Real Failure. Next.js Build Failing on Vercel: How to Find the First Real Failure
A practical way to debug failing Next.js builds on Vercel, from first useful error lines and environment drift to route generation and memory pressure.

Technical GEO for Websites: Entities, Structured Data, and Crawl Paths. Technical GEO for Websites: Entities, Structured Data, and Crawl Paths
Technical GEO for websites, covering indexing, renderability, entity clarity, structured data, and crawl paths without inventing an AI‑only markup layer.

State Management in Angular: NgRx vs. SignalStore. State Management in Angular: NgRx vs. SignalStore
NgRx Store vs. SignalStore explained with real Angular trade‑offs, including scope, TypeScript ergonomics, devtools, effects, and when neither is necessary.

Traffic Dropped After a Replatform: The Technical Checks I Run First. Traffic Dropped After a Replatform: The Technical Checks I Run First
Diagnose traffic drops after a redesign, migration, or replatform by checking route parity, rendered HTML, redirects, canonicals, sitemaps, and schema.