<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>The Build Ledger</title><description>Practical engineering notes for production software teams.</description><link>https://sdiukde.com/</link><item><title>How to Design React Server Component Boundaries That Stay Maintainable</title><link>https://sdiukde.com/posts/how-to-design-react-server-component-boundaries-that-stay-maintainable/</link><guid isPermaLink="true">https://sdiukde.com/posts/how-to-design-react-server-component-boundaries-that-stay-maintainable/</guid><description>A practical framework for deciding what belongs on the server, what belongs in the browser, and where state should cross the boundary.</description><pubDate>Sun, 07 Jun 2026 17:55:00 GMT</pubDate></item><item><title>PR Review Checklists That Scale With Risk</title><link>https://sdiukde.com/posts/pr-review-checklists-that-scale-with-risk/</link><guid isPermaLink="true">https://sdiukde.com/posts/pr-review-checklists-that-scale-with-risk/</guid><description>A useful review checklist changes shape when a pull request touches content, rendering, data contracts, billing, or production operations.</description><pubDate>Fri, 05 Jun 2026 18:05:00 GMT</pubDate></item><item><title>Building Idempotent API Endpoints Without Making Every Handler Complicated</title><link>https://sdiukde.com/posts/building-idempotent-api-endpoints-without-making-every-handler-complicated/</link><guid isPermaLink="true">https://sdiukde.com/posts/building-idempotent-api-endpoints-without-making-every-handler-complicated/</guid><description>Idempotency prevents duplicate jobs, repeated emails, broken retries, and ambiguous support tickets.</description><pubDate>Wed, 03 Jun 2026 17:40:00 GMT</pubDate></item><item><title>Keeping Feature Flags From Becoming Permanent Architecture</title><link>https://sdiukde.com/posts/keeping-feature-flags-from-becoming-permanent-architecture/</link><guid isPermaLink="true">https://sdiukde.com/posts/keeping-feature-flags-from-becoming-permanent-architecture/</guid><description>Feature flags are most useful when every flag has an owner, a removal condition, and a planned cleanup path.</description><pubDate>Mon, 01 Jun 2026 18:15:00 GMT</pubDate></item><item><title>What Actually Makes an AI Agent Useful in a Production Workflow</title><link>https://sdiukde.com/posts/what-actually-makes-an-ai-agent-useful-in-a-production-workflow/</link><guid isPermaLink="true">https://sdiukde.com/posts/what-actually-makes-an-ai-agent-useful-in-a-production-workflow/</guid><description>The difference between a demo agent and a useful teammate is state, permissions, evaluation, and recovery from partial failure.</description><pubDate>Sat, 30 May 2026 17:50:00 GMT</pubDate></item><item><title>A Small Architecture Review Checklist for Growing Astro and Next Applications</title><link>https://sdiukde.com/posts/a-small-architecture-review-checklist-for-growing-astro-and-next-applications/</link><guid isPermaLink="true">https://sdiukde.com/posts/a-small-architecture-review-checklist-for-growing-astro-and-next-applications/</guid><description>Most reviews need a short list of decisions that are easy to revisit before they harden into accidental platform rules.</description><pubDate>Wed, 27 May 2026 18:20:00 GMT</pubDate></item><item><title>Designing Content Preview Workflows for Static Sites</title><link>https://sdiukde.com/posts/designing-content-preview-workflows-for-static-sites/</link><guid isPermaLink="true">https://sdiukde.com/posts/designing-content-preview-workflows-for-static-sites/</guid><description>A reliable preview workflow helps editors catch broken frontmatter, layout issues, missing images, and publication mistakes before deploy.</description><pubDate>Wed, 20 May 2026 17:30:00 GMT</pubDate></item><item><title>The Local Development Setup That Catches Problems Before CI Does</title><link>https://sdiukde.com/posts/the-local-development-setup-that-catches-problems-before-ci-does/</link><guid isPermaLink="true">https://sdiukde.com/posts/the-local-development-setup-that-catches-problems-before-ci-does/</guid><description>Fast feedback comes from type checks, route smoke tests, seed data, and scriptable browser checks.</description><pubDate>Tue, 12 May 2026 18:05:00 GMT</pubDate></item><item><title>API Error Contracts That Help Frontend Teams Debug Faster</title><link>https://sdiukde.com/posts/api-error-contracts-that-help-frontend-teams-debug-faster/</link><guid isPermaLink="true">https://sdiukde.com/posts/api-error-contracts-that-help-frontend-teams-debug-faster/</guid><description>A good API error contract separates user-facing messages, developer diagnostics, retry guidance, and support traceability.</description><pubDate>Mon, 04 May 2026 17:45:00 GMT</pubDate></item><item><title>Release Notes That Product and Engineering Can Both Trust</title><link>https://sdiukde.com/posts/release-notes-that-product-and-engineering-can-both-trust/</link><guid isPermaLink="true">https://sdiukde.com/posts/release-notes-that-product-and-engineering-can-both-trust/</guid><description>Reliable release notes connect user-visible changes with migrations, feature flags, operational risk, and support context.</description><pubDate>Sun, 26 Apr 2026 18:10:00 GMT</pubDate></item><item><title>Zero Downtime Deployments Are Mostly About Database Discipline</title><link>https://sdiukde.com/posts/zero-downtime-deployments-are-mostly-about-database-discipline/</link><guid isPermaLink="true">https://sdiukde.com/posts/zero-downtime-deployments-are-mostly-about-database-discipline/</guid><description>Rolling deploys help, but most outages still come from schema changes not designed for overlap.</description><pubDate>Fri, 17 Apr 2026 17:55:00 GMT</pubDate></item><item><title>Testing Background Jobs With Realistic Retry Behavior</title><link>https://sdiukde.com/posts/testing-background-jobs-with-realistic-retry-behavior/</link><guid isPermaLink="true">https://sdiukde.com/posts/testing-background-jobs-with-realistic-retry-behavior/</guid><description>Background job tests should cover duplicate delivery, partial failure, timeout recovery, and observable retry state.</description><pubDate>Wed, 08 Apr 2026 18:25:00 GMT</pubDate></item><item><title>When Markdown Files Stop Being Enough for a Content Site</title><link>https://sdiukde.com/posts/when-markdown-files-stop-being-enough-for-a-content-site/</link><guid isPermaLink="true">https://sdiukde.com/posts/when-markdown-files-stop-being-enough-for-a-content-site/</guid><description>Markdown is a good starting point, but workflow, preview, search, and governance eventually ask for a stronger content model.</description><pubDate>Sun, 29 Mar 2026 17:40:00 GMT</pubDate></item><item><title>Choosing Between Static Generation and Server Rendering in Content Products</title><link>https://sdiukde.com/posts/choosing-between-static-generation-and-server-rendering-in-content-products/</link><guid isPermaLink="true">https://sdiukde.com/posts/choosing-between-static-generation-and-server-rendering-in-content-products/</guid><description>The rendering choice should follow freshness, personalization, operational cost, preview needs, and failure behavior.</description><pubDate>Wed, 18 Mar 2026 18:15:00 GMT</pubDate></item><item><title>Observability Notes for Small Product Teams</title><link>https://sdiukde.com/posts/observability-notes-for-small-product-teams/</link><guid isPermaLink="true">https://sdiukde.com/posts/observability-notes-for-small-product-teams/</guid><description>Small teams need a compact observability system that connects user reports, deploys, logs, metrics, and business-critical flows.</description><pubDate>Sat, 07 Mar 2026 17:50:00 GMT</pubDate></item><item><title>Why Largest Contentful Paint Regresses After a Simple Hero Image</title><link>https://sdiukde.com/posts/why-largest-contentful-paint-regresses-after-a-simple-hero-image/</link><guid isPermaLink="true">https://sdiukde.com/posts/why-largest-contentful-paint-regresses-after-a-simple-hero-image/</guid><description>Image priority, layout stability, request waterfalls, and font loading can turn a harmless component into the slowest part of the page.</description><pubDate>Wed, 25 Feb 2026 18:05:00 GMT</pubDate></item><item><title>A Lightweight Evaluation Loop for Prompt Changes in Real Products</title><link>https://sdiukde.com/posts/a-lightweight-evaluation-loop-for-prompt-changes-in-real-products/</link><guid isPermaLink="true">https://sdiukde.com/posts/a-lightweight-evaluation-loop-for-prompt-changes-in-real-products/</guid><description>Prompt edits are code changes and deserve fixtures, expected behavior, regression notes, and inspectable failures.</description><pubDate>Fri, 13 Feb 2026 17:25:00 GMT</pubDate></item><item><title>Writing Incident Notes That Help the Next Deployment Go Better</title><link>https://sdiukde.com/posts/writing-incident-notes-that-help-the-next-deployment-go-better/</link><guid isPermaLink="true">https://sdiukde.com/posts/writing-incident-notes-that-help-the-next-deployment-go-better/</guid><description>Useful incident notes separate timeline, impact, cause, remediation, and follow-up work.</description><pubDate>Mon, 02 Feb 2026 18:20:00 GMT</pubDate></item><item><title>Turning Editorial Feedback Into Smaller Engineering Changes</title><link>https://sdiukde.com/posts/turning-editorial-feedback-into-smaller-engineering-changes/</link><guid isPermaLink="true">https://sdiukde.com/posts/turning-editorial-feedback-into-smaller-engineering-changes/</guid><description>The fastest content tools treat preview, media, validation, and publishing as separate workflows.</description><pubDate>Tue, 20 Jan 2026 17:35:00 GMT</pubDate></item><item><title>AdSense Ready Product Pages Need More Than Long Articles</title><link>https://sdiukde.com/posts/adsense-ready-product-pages-need-more-than-long-articles/</link><guid isPermaLink="true">https://sdiukde.com/posts/adsense-ready-product-pages-need-more-than-long-articles/</guid><description>Reviewers and readers look for original structure, clear ownership, usable navigation, and a reason the site should exist.</description><pubDate>Sun, 11 Jan 2026 18:10:00 GMT</pubDate></item></channel></rss>