May 09, 2026 · 5 min read
A pattern for consolidating dozens of per-document Next.js revalidations into one tagged endpoint, cutting webhook noise and deploy times by 70%.
May 08, 2026 · 5 min read
How I pre-calculate Sanity image hot-spot crops at build time to eliminate layout shift and guarantee stable LCP under 2.5s on editorial pages.
May 07, 2026 · 4 min read
A pattern for enforcing unique slugs across Sanity document types using a custom validation function and GROQ query, preventing duplicate URL conflicts at schema level.
May 05, 2026 · 5 min read
A production pattern for rolling schema changes in Sanity without throwing runtime errors or requiring a full site rebuild.
May 01, 2026 · 5 min read
A pattern for structuring Sanity references and GROQ projections that eliminates query waterfalls in server components, cutting fetch latency by 200–400 ms.
Apr 29, 2026 · 5 min read
A production pattern for serving low-quality image placeholders from Sanity's metadata API without embedding Base64 strings in HTML or shipping extra dependencies.
Apr 27, 2026 · 5 min read
Denormalising references and embedding common fields in Sanity schemas cuts server component render time by 40–60%. Here's the pattern I ship.
Apr 27, 2026 · 5 min read
Combining Next.js Partial Prerendering, edge runtime, and selective Sanity queries to hit sub-200ms TTFB on content-heavy pages without stale data.
Apr 27, 2026 · 5 min read
Portable Text blocks can bloat client bundles. Here's how I defer serializers with dynamic imports and RSC boundaries to keep marketing pages under 80 kB.
Apr 27, 2026 · 4 min read
A production pattern for Sanity draft previews in Next.js that keeps published pages on the edge while editors see real-time changes.