41554 blogs · [
{
"id": "01a0878f-6676-72b9-a6fb-b140a29ced18",
"title": "Caching Across React, Next.js and Serverless Applications",
"url": "https://johnkavanagh.co.uk/articles/react-nextjs-serverless-caching/",
"published_at": "2026-03-06T00:00:00+00:00"
},
{
"id": "01a0878f-6676-72b9-a6fb-b140a2c8a55a",
"title": "Traffic Dropped After a WordPress to Next.js Migration: What to Check First",
"url": "https://johnkavanagh.co.uk/articles/wordpress-to-nextjs-traffic-drop-recovery/",
"published_at": "2026-03-03T00:00:00+00:00"
},
{
"id": "01a0878f-6676-72b9-a6fb-b140a393569b",
"title": "Agentic Systems Do Not Fix Weak Service Boundaries",
"url": "https://johnkavanagh.co.uk/articles/agentic-systems-do-not-fix-service-boundaries/",
"published_at": "2026-02-27T00:00:00+00:00"
},
{
"id": "01a0878f-6676-72b9-a6fb-b140a4116116",
"title": "WordPress to Next.js Migration Checklist for Content, Preview and SEO",
"url": "https://johnkavanagh.co.uk/articles/wordpress-to-nextjs-migration-checklist/",
"published_at": "2026-02-24T00:00:00+00:00"
},
{
"id": "01a0878f-6676-72b9-a6fb-b140a4c07ce9",
"title": "Quickselect in TypeScript: Solving 'Kth Largest Element in an Array'",
"url": "https://johnkavanagh.co.uk/articles/quickselect-kth-largest-element-in-array-typescript/",
"published_at": "2026-02-23T00:00:00+00:00"
}
] posts Claim your blog