
How to Compare Rendered HTML Before and After a Migration
Compare rendered HTML before and after a migration, checking headings, metadata, links, schema, body copy, media, crawl signals, and launch risk.
Articles
Development is the broadest category in my writing, so it works as the main archive rather than a narrow subject label. It brings together implementation notes and technical decisions, with delivery lessons from across the rest of the site.

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.

Compare client‑side React caching, Next.js SSG, ISR and SSR caching, and Redis‑backed caches for reliable serverless data fetching and persistence.

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.

Deep tech communication should reduce avoidable opacity without pretending hard problems are simple, commercially ready, risk‑free, or easy to deliver.

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

The 'Course Schedule' problem tests our ability to detect cycles using graph traversal. I'll explain a clear solution using depth‑first search with TypeScript.

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.

Greener software starts with engineering discipline: lighter pages, fewer wasted requests, better caching, leaner CI, and deliberate use of AI compute.

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.