<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sebastiano Druda — Writing</title><description>Software engineering, AI, automation, product and the internet.</description><link>https://www.sebastianodruda.it/</link><language>en</language><item><title>Tooling Is Good When It Disappears</title><link>https://www.sebastianodruda.it/writing/tooling-is-good-when-it-disappears/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/tooling-is-good-when-it-disappears/</guid><description>Choose development tools that make correct work easier. Balance formatting, linting, types and tests against setup friction, exceptions and maintenance.</description><pubDate>Wed, 14 Oct 2026 15:00:00 GMT</pubDate></item><item><title>Deployment Should Be Boring Enough to Trust</title><link>https://www.sebastianodruda.it/writing/deployment-should-be-boring-enough-to-trust/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/deployment-should-be-boring-enough-to-trust/</guid><description>Build predictable releases with validation, restricted credentials and manifest ownership. Examine the boundaries of this static site’s deployment pipeline.</description><pubDate>Wed, 14 Oct 2026 14:00:00 GMT</pubDate></item><item><title>DNS, Hosting and SSL Are Three Different Things</title><link>https://www.sebastianodruda.it/writing/dns-hosting-and-ssl-are-different-things/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/dns-hosting-and-ssl-are-different-things/</guid><description>Separate DNS delegation, hosting, TLS and HTTP redirects. Lessons from moving this static site from SiteGround toward its verified HostingPerTe deployment.</description><pubDate>Wed, 14 Oct 2026 13:00:00 GMT</pubDate></item><item><title>Git History Is Part of the Product</title><link>https://www.sebastianodruda.it/writing/git-history-is-part-of-the-product/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/git-history-is-part-of-the-product/</guid><description>Clear commits preserve the reasoning behind software changes. Make history useful for review, debugging and recovery without burying behavior in noise.</description><pubDate>Wed, 14 Oct 2026 12:00:00 GMT</pubDate></item><item><title>A Product Identifier Is More Important Than It Looks</title><link>https://www.sebastianodruda.it/writing/product-identifiers-are-infrastructure/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/product-identifiers-are-infrastructure/</guid><description>Distinguish internal IDs, supplier references, SKUs and GTINs. Preserve identity, packaging context and mappings before automating downstream catalogue work.</description><pubDate>Wed, 14 Oct 2026 11:00:00 GMT</pubDate></item><item><title>Integration Bugs Live Between Systems</title><link>https://www.sebastianodruda.it/writing/integration-bugs-live-between-systems/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/integration-bugs-live-between-systems/</guid><description>Integration failures emerge from timing and conflicting assumptions. Design for retries, duplicate delivery, partial updates and evidence across boundaries.</description><pubDate>Wed, 14 Oct 2026 10:00:00 GMT</pubDate></item><item><title>Catalogue Automation Fails Quietly Before It Fails Loudly</title><link>https://www.sebastianodruda.it/writing/catalogue-automation-fails-quietly/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/catalogue-automation-fails-quietly/</guid><description>A catalogue job can succeed while publishing incorrect prices or mappings. Add semantic checks, reviewable changes and recovery to the import boundary.</description><pubDate>Wed, 14 Oct 2026 09:00:00 GMT</pubDate></item><item><title>Supplier Data Is an API Even When It Arrives as Excel</title><link>https://www.sebastianodruda.it/writing/supplier-data-is-an-api-even-when-it-is-excel/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/supplier-data-is-an-api-even-when-it-is-excel/</guid><description>Treat supplier spreadsheets as versioned external interfaces. Make schemas, provenance, missing values and identity rules explicit before importing rows.</description><pubDate>Wed, 14 Oct 2026 08:00:00 GMT</pubDate></item><item><title>Bootstrapping Changes What “Good Architecture” Means</title><link>https://www.sebastianodruda.it/writing/bootstrapping-changes-good-architecture/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/bootstrapping-changes-good-architecture/</guid><description>Limited time and operating capacity shape architecture. Use the static publishing workflow to examine fixed costs, reversibility and justified complexity.</description><pubDate>Wed, 14 Oct 2026 07:00:00 GMT</pubDate></item><item><title>A Failed Experiment Can Be a Successful Product Decision</title><link>https://www.sebastianodruda.it/writing/a-failed-experiment-can-be-a-successful-product-decision/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/a-failed-experiment-can-be-a-successful-product-decision/</guid><description>Design experiments that can stop a weak idea as well as support it. Define decisions, measurement checks and stopping rules before interpreting results.</description><pubDate>Wed, 14 Oct 2026 06:00:00 GMT</pubDate></item><item><title>Users Are Better at Describing Pain Than Designing Your Product</title><link>https://www.sebastianodruda.it/writing/users-describe-pain-better-than-products/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/users-describe-pain-better-than-products/</guid><description>Use interviews to understand recent behavior, workarounds and constraints. Treat feature requests as clues to investigate before committing to a solution.</description><pubDate>Tue, 13 Oct 2026 15:00:00 GMT</pubDate></item><item><title>The First Version of a Product Should Answer a Question</title><link>https://www.sebastianodruda.it/writing/the-first-version-should-answer-a-question/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/the-first-version-should-answer-a-question/</guid><description>Scope a first product around the assumption you need to test. Choose evidence, participants and decision rules before turning a hypothesis into a backlog.</description><pubDate>Tue, 13 Oct 2026 14:00:00 GMT</pubDate></item><item><title>The Best Python Script Is the One You Can Run Again Tomorrow</title><link>https://www.sebastianodruda.it/writing/the-best-python-script-runs-again-tomorrow/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/the-best-python-script-runs-again-tomorrow/</guid><description>Make repeatable Python catalogue jobs with explicit inputs, rejected rows, dry runs and deterministic output, then define what a successful rerun means.</description><pubDate>Tue, 13 Oct 2026 13:00:00 GMT</pubDate></item><item><title>An AI Feature Is a System, Not a Model Call</title><link>https://www.sebastianodruda.it/writing/an-ai-feature-is-a-system-not-a-model-call/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/an-ai-feature-is-a-system-not-a-model-call/</guid><description>Design AI features around inputs, retrieval, evaluation and recovery. A model response needs a reliable product workflow before anyone can depend on it.</description><pubDate>Tue, 13 Oct 2026 12:00:00 GMT</pubDate></item><item><title>The Prompt Is the Smallest Part of the Context</title><link>https://www.sebastianodruda.it/writing/the-prompt-is-the-smallest-part-of-the-context/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/the-prompt-is-the-smallest-part-of-the-context/</guid><description>Useful AI context includes repository state, schemas, examples and tool results. Curate evidence and authority instead of polishing one instruction forever.</description><pubDate>Tue, 13 Oct 2026 11:00:00 GMT</pubDate></item><item><title>Give the Agent a Definition of Done, Not a Vibe</title><link>https://www.sebastianodruda.it/writing/give-the-agent-a-definition-of-done/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/give-the-agent-a-definition-of-done/</guid><description>Make repository tasks verifiable with acceptance criteria, focused context, meaningful tests, visual review and clear boundaries for a production release.</description><pubDate>Tue, 13 Oct 2026 10:00:00 GMT</pubDate></item><item><title>Architecture Decisions Have Expiration Dates</title><link>https://www.sebastianodruda.it/writing/architecture-decisions-have-expiration-dates/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/architecture-decisions-have-expiration-dates/</guid><description>Architecture decisions depend on assumptions that change. Record context, review triggers and migration costs so yesterday’s sensible choice stays visible.</description><pubDate>Tue, 13 Oct 2026 09:00:00 GMT</pubDate></item><item><title>Every Extra Choice Has a Cost</title><link>https://www.sebastianodruda.it/writing/every-extra-choice-has-a-cost/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/every-extra-choice-has-a-cost/</guid><description>Choices impose reading, comparison and recovery costs. Design defaults and progressive disclosure around what people need to understand before acting.</description><pubDate>Tue, 13 Oct 2026 08:00:00 GMT</pubDate></item><item><title>“It Should Be Fast” Is Not a Requirement</title><link>https://www.sebastianodruda.it/writing/it-should-be-fast-is-not-a-requirement/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/it-should-be-fast-is-not-a-requirement/</guid><description>Turn vague performance expectations into testable scenarios, with explicit workloads, measurement boundaries and targets that reflect real user needs.</description><pubDate>Tue, 13 Oct 2026 07:00:00 GMT</pubDate></item><item><title>Complexity Is Usually a Coordination Problem Wearing a Technical Costume</title><link>https://www.sebastianodruda.it/writing/complexity-is-a-coordination-problem/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/complexity-is-a-coordination-problem/</guid><description>Complexity grows when components, people and states must agree. A practical look at coupling, shared state and the coordination hidden inside architecture.</description><pubDate>Tue, 13 Oct 2026 06:00:00 GMT</pubDate></item><item><title>A Productivity Stack Should Remove Context Switching, Not Add Apps</title><link>https://www.sebastianodruda.it/writing/productivity-stack-should-remove-context-switching/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/productivity-stack-should-remove-context-switching/</guid><description>More apps can create more places for work to disappear. Design a productivity stack around clear ownership, fewer handoffs and recovery after interruption.</description><pubDate>Mon, 12 Oct 2026 07:00:00 GMT</pubDate></item><item><title>When a SaaS Comparison Becomes an Architecture Decision</title><link>https://www.sebastianodruda.it/writing/when-a-saas-comparison-becomes-an-architecture-decision/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/when-a-saas-comparison-becomes-an-architecture-decision/</guid><description>When a service becomes part of your infrastructure, migration and data access matter. Compare SaaS tools through boundaries, recovery and a tested exit plan.</description><pubDate>Mon, 12 Oct 2026 07:00:00 GMT</pubDate></item><item><title>Linux Is Boring Until It Saves Your Day</title><link>https://www.sebastianodruda.it/writing/linux-is-boring-until-it-saves-your-day/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/linux-is-boring-until-it-saves-your-day/</guid><description>Files, permissions, processes, ports and logs make infrastructure inspectable. Use a Linux investigation to narrow a failure without breaking more things.</description><pubDate>Sun, 11 Oct 2026 07:00:00 GMT</pubDate></item><item><title>Own the Source, Rent the Infrastructure</title><link>https://www.sebastianodruda.it/writing/own-the-source-rent-the-infrastructure/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/own-the-source-rent-the-infrastructure/</guid><description>Control can live in source, content and a portable build. A practical look at static hosting, independent recovery and the limits of infrastructure ownership.</description><pubDate>Sun, 11 Oct 2026 07:00:00 GMT</pubDate></item><item><title>Your Laptop Is Part of Your Development Environment</title><link>https://www.sebastianodruda.it/writing/your-laptop-is-part-of-your-development-environment/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/your-laptop-is-part-of-your-development-environment/</guid><description>Memory, storage, thermals and ergonomics shape daily development. Evaluate a laptop through a workflow and its constraints, rather than a specification contest.</description><pubDate>Sun, 11 Oct 2026 07:00:00 GMT</pubDate></item><item><title>GitHub Actions Became My Publishing System</title><link>https://www.sebastianodruda.it/writing/github-actions-as-a-publishing-system/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/github-actions-as-a-publishing-system/</guid><description>Versioned articles, validation, static builds and search indexing form a publishing pipeline. Here is how this site connects editorial changes to delivery.</description><pubDate>Sat, 10 Oct 2026 07:00:00 GMT</pubDate></item><item><title>Inventory Is a Consistency Problem Before It Is a Number</title><link>https://www.sebastianodruda.it/writing/inventory-is-a-consistency-problem/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/inventory-is-a-consistency-problem/</guid><description>A stock number means little without ownership, reservations and freshness. Explore overselling, delayed updates and reconciliation across sales channels.</description><pubDate>Sat, 10 Oct 2026 07:00:00 GMT</pubDate></item><item><title>Digital Operations Is Where Strategy Meets the Spreadsheet</title><link>https://www.sebastianodruda.it/writing/digital-operations-where-strategy-meets-the-spreadsheet/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/digital-operations-where-strategy-meets-the-spreadsheet/</guid><description>Product data, approvals and exception queues turn strategy into daily work. Make decisions explicit before automating the spreadsheet that holds them.</description><pubDate>Fri, 09 Oct 2026 07:00:00 GMT</pubDate></item><item><title>A Good Development Workflow Removes Decisions You Shouldn’t Have to Make Twice</title><link>https://www.sebastianodruda.it/writing/good-development-workflow-removes-repeated-decisions/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/good-development-workflow-removes-repeated-decisions/</guid><description>Scripts, publication gates and nearby documentation turn repeated project decisions into a predictable workflow that humans and coding agents can both follow.</description><pubDate>Fri, 09 Oct 2026 07:00:00 GMT</pubDate></item><item><title>E-commerce Architecture Is Mostly About Keeping Systems from Lying to Each Other</title><link>https://www.sebastianodruda.it/writing/ecommerce-architecture-keeping-systems-consistent/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/ecommerce-architecture-keeping-systems-consistent/</guid><description>Catalogue, prices, orders and stock overlap across commerce systems. Decide who owns each fact, how changes travel and how conflicts are detected and repaired.</description><pubDate>Thu, 08 Oct 2026 07:00:00 GMT</pubDate></item><item><title>I Almost Used a VPS for a Static Website. I’m Glad I Didn’t.</title><link>https://www.sebastianodruda.it/writing/why-i-did-not-use-a-vps-for-my-static-site/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/why-i-did-not-use-a-vps-for-my-static-site/</guid><description>A small visitor counter was pulling this portfolio toward a backend. Removing it made the hosting decision simpler without giving up the features that mattered.</description><pubDate>Wed, 07 Oct 2026 07:00:00 GMT</pubDate></item><item><title>An API Integration Is a Relationship Between Failure Modes</title><link>https://www.sebastianodruda.it/writing/api-integration-is-a-relationship-between-failure-modes/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/api-integration-is-a-relationship-between-failure-modes/</guid><description>The happy path is only the beginning. Design integrations around ownership, retries, idempotency, partial updates and reconciliation of uncertain outcomes.</description><pubDate>Tue, 06 Oct 2026 07:00:00 GMT</pubDate></item><item><title>WooCommerce Works Until Your Operations Stop Being Simple</title><link>https://www.sebastianodruda.it/writing/woocommerce-when-operations-stop-being-simple/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/woocommerce-when-operations-stop-being-simple/</guid><description>WooCommerce can support commerce, while integrations and operating rules need their own design. Examine data ownership, extensions and recovery at the edges.</description><pubDate>Mon, 05 Oct 2026 07:00:00 GMT</pubDate></item><item><title>One Product, Five Marketplaces, Fifty Different Rules</title><link>https://www.sebastianodruda.it/writing/one-product-five-marketplaces-fifty-rules/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/one-product-five-marketplaces-fifty-rules/</guid><description>Multi-channel commerce is an integration problem: shared product facts meet different schemas, publication states and failure modes that need explicit handling.</description><pubDate>Sun, 04 Oct 2026 07:00:00 GMT</pubDate></item><item><title>CSV Is Not a Database, but Sometimes It Is the Interface You Get</title><link>https://www.sebastianodruda.it/writing/csv-is-not-a-database-but-sometimes-it-is-the-interface-you-get/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/csv-is-not-a-database-but-sometimes-it-is-the-interface-you-get/</guid><description>Supplier files need an explicit boundary: preserve the input, detect its schema, normalize carefully and validate meaning before creating channel exports.</description><pubDate>Sat, 03 Oct 2026 07:00:00 GMT</pubDate></item><item><title>A Roadmap Is a Bet Portfolio, Not a Promise</title><link>https://www.sebastianodruda.it/writing/roadmap-as-bet-portfolio/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/roadmap-as-bet-portfolio/</guid><description>A roadmap can explain strategic choices without pretending uncertainty has disappeared. Make bets, dependencies and review points explicit before promises.</description><pubDate>Fri, 02 Oct 2026 07:00:00 GMT</pubDate></item><item><title>The Hard Part of E-commerce Is Usually the Product Data</title><link>https://www.sebastianodruda.it/writing/the-hard-part-of-ecommerce-is-product-data/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/the-hard-part-of-ecommerce-is-product-data/</guid><description>Supplier files become a systems problem when identifiers, variants, prices and stock disagree. A practical way to build a catalogue you can safely publish.</description><pubDate>Thu, 01 Oct 2026 07:00:00 GMT</pubDate></item><item><title>A Smaller Product Can Be a Bigger Strategy</title><link>https://www.sebastianodruda.it/writing/a-smaller-product-can-be-a-bigger-strategy/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/a-smaller-product-can-be-a-bigger-strategy/</guid><description>Reconsidering an all-in-one product can reveal a clearer entry point. Notes on FiscoBud, focused scope, educational support and a credible path to expansion.</description><pubDate>Wed, 30 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Building in Public Is Useful Only If You Know What You’re Learning</title><link>https://www.sebastianodruda.it/writing/building-in-public-needs-a-learning-goal/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/building-in-public-needs-a-learning-goal/</guid><description>Public updates can create conversations, but attention alone cannot validate a product. Define the learning goal, audience and evidence before sharing work.</description><pubDate>Mon, 28 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Validation Is Not Asking People If They Like Your Idea</title><link>https://www.sebastianodruda.it/writing/validation-is-not-asking-if-people-like-your-idea/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/validation-is-not-asking-if-people-like-your-idea/</guid><description>Compliments cannot carry a product decision. Connect assumptions to recent behavior, existing alternatives and experiments that can genuinely change the plan.</description><pubDate>Sun, 27 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Go-to-Market Starts Before You Have Something to Launch</title><link>https://www.sebastianodruda.it/writing/go-to-market-starts-before-launch/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/go-to-market-starts-before-launch/</guid><description>Distribution, buying decisions and trust belong in product discovery. Trace the route from a customer problem to a first conversation and useful adoption.</description><pubDate>Sat, 26 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Build-Measure-Learn Is Not a Three-Step Checklist</title><link>https://www.sebastianodruda.it/writing/build-measure-learn-is-not-a-three-step-checklist/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/build-measure-learn-is-not-a-three-step-checklist/</guid><description>The useful work begins before building: identify a risky assumption, choose evidence that could change a decision and design the smallest meaningful experiment.</description><pubDate>Fri, 25 Sep 2026 07:00:00 GMT</pubDate></item><item><title>SaaS Pricing Is a Product Decision Before It Is a Finance Decision</title><link>https://www.sebastianodruda.it/writing/saas-pricing-is-a-product-decision/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/saas-pricing-is-a-product-decision/</guid><description>Pricing shapes who a SaaS product serves and how customers experience its value. Explore packaging, usage measures and honest tests of willingness to pay.</description><pubDate>Thu, 24 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Problem-Solution Fit Comes Before Your Feature List</title><link>https://www.sebastianodruda.it/writing/problem-solution-fit-before-features/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/problem-solution-fit-before-features/</guid><description>Revisiting FiscoBud exposed a useful distinction: a coherent product concept can still rest on untested problems. Feature planning needs evidence underneath it.</description><pubDate>Tue, 22 Sep 2026 07:00:00 GMT</pubDate></item><item><title>AI Infrastructure Starts With Boring Questions About Cost, Latency and Failure</title><link>https://www.sebastianodruda.it/writing/ai-infrastructure-cost-latency-and-failure/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/ai-infrastructure-cost-latency-and-failure/</guid><description>Latency, cost, rate limits and recovery shape an AI feature long before a model benchmark settles the choice. Design the dependency around the actual user task.</description><pubDate>Mon, 21 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Automate the Boring Part, Keep the Judgment</title><link>https://www.sebastianodruda.it/writing/automate-the-boring-part-keep-the-judgment/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/automate-the-boring-part-keep-the-judgment/</guid><description>A practical way to choose automation boundaries for catalogue work: stable transformations, inspectable inputs, visible exceptions and deliberate human review.</description><pubDate>Sun, 20 Sep 2026 07:00:00 GMT</pubDate></item><item><title>n8n Is Great Until Your Workflow Becomes a Product</title><link>https://www.sebastianodruda.it/writing/n8n-is-great-until-your-workflow-becomes-a-product/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/n8n-is-great-until-your-workflow-becomes-a-product/</guid><description>Visual workflows can coordinate useful work without owning each rule. Examine testing, recovery and the point where domain logic deserves its own boundary.</description><pubDate>Sat, 19 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Context Engineering Beats Prompt Tricks</title><link>https://www.sebastianodruda.it/writing/context-engineering-beats-prompt-tricks/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/context-engineering-beats-prompt-tricks/</guid><description>Better AI-assisted work starts with approved decisions, useful evidence and clear limits. A practical approach to context that survives real project changes.</description><pubDate>Thu, 17 Sep 2026 07:00:00 GMT</pubDate></item><item><title>The Best LLM Workflow Has an Exit Ramp</title><link>https://www.sebastianodruda.it/writing/the-best-llm-workflow-has-an-exit-ramp/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/the-best-llm-workflow-has-an-exit-ramp/</guid><description>An LLM workflow needs a route for uncertainty, invalid output and exhausted retries. Design review queues and deterministic checks before automating decisions.</description><pubDate>Wed, 16 Sep 2026 07:00:00 GMT</pubDate></item><item><title>AI Features Need an Evaluation Plan Before They Need a Demo</title><link>https://www.sebastianodruda.it/writing/ai-features-need-an-evaluation-plan-before-a-demo/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/ai-features-need-an-evaluation-plan-before-a-demo/</guid><description>An impressive output is a starting point. Build an evaluation plan around realistic tasks, visible failures, human review and changes to prompts or models.</description><pubDate>Tue, 15 Sep 2026 07:00:00 GMT</pubDate></item><item><title>AI Coding Gets Better When You Make the Model Prove It</title><link>https://www.sebastianodruda.it/writing/ai-coding-gets-better-when-the-model-proves-it/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/ai-coding-gets-better-when-the-model-proves-it/</guid><description>AI-assisted changes need inspectable evidence: repository context, meaningful tests, visual checks and diff review. Generation is the beginning of the workflow.</description><pubDate>Sun, 13 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Coding Agents Are Useful When You Stop Treating Them Like Autocomplete</title><link>https://www.sebastianodruda.it/writing/coding-agents-beyond-autocomplete/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/coding-agents-beyond-autocomplete/</guid><description>Building this website with a coding agent changed the unit of delegation: a bounded engineering task, with repository context, checks and a reviewable result.</description><pubDate>Sat, 12 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Web Engineering Is Mostly State, Boundaries and Boring Details</title><link>https://www.sebastianodruda.it/writing/web-engineering-state-boundaries-and-boring-details/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/web-engineering-state-boundaries-and-boring-details/</guid><description>Web systems accumulate complexity around state, URLs, caches and integrations. Follow a catalogue change across boundaries a polished interface can hide.</description><pubDate>Fri, 11 Sep 2026 07:00:00 GMT</pubDate></item><item><title>The Best Code Is Often the Code You Can Delete</title><link>https://www.sebastianodruda.it/writing/the-best-code-is-often-the-code-you-can-delete/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/the-best-code-is-often-the-code-you-can-delete/</guid><description>Removing a visitor counter simplified an entire operating model. A field note on maintenance cost, safe deletion and responsibilities hidden behind features.</description><pubDate>Thu, 10 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Design Patterns Are Vocabulary, Not Architecture</title><link>https://www.sebastianodruda.it/writing/design-patterns-are-vocabulary-not-architecture/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/design-patterns-are-vocabulary-not-architecture/</guid><description>Strategy, Adapter and Observer help name design choices. Their value depends on the forces they address, their costs and the boundaries they preserve.</description><pubDate>Tue, 08 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Reliable Software Starts Before the Code: Turning Vague Requirements into Things You Can Test</title><link>https://www.sebastianodruda.it/writing/reliable-software-starts-before-the-code/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/reliable-software-starts-before-the-code/</guid><description>Turn vague promises about reliability into measurable scenarios, with explicit failure conditions, recovery boundaries and evidence a test can actually collect.</description><pubDate>Mon, 07 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Good Interfaces Reduce Thinking, Not Just Clicking</title><link>https://www.sebastianodruda.it/writing/good-interfaces-reduce-thinking-not-just-clicking/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/good-interfaces-reduce-thinking-not-just-clicking/</guid><description>Fewer clicks can still mean more confusion. A practical argument for interfaces that expose state, explain choices and reduce the memory a task requires.</description><pubDate>Sat, 05 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Reliability Is What Happens After the Happy Path Ends</title><link>https://www.sebastianodruda.it/writing/reliability-after-the-happy-path/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/reliability-after-the-happy-path/</guid><description>Reliability becomes visible when networks fail and work must recover. Explore buffering, bounded retries and requirements that describe useful failure behavior.</description><pubDate>Fri, 04 Sep 2026 07:00:00 GMT</pubDate></item><item><title>Everything Is a Trade-off: What Software Architecture Actually Looks Like in Practice</title><link>https://www.sebastianodruda.it/writing/everything-is-a-trade-off-software-architecture-in-practice/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/everything-is-a-trade-off-software-architecture-in-practice/</guid><description>A forest-monitoring exercise shows how buffering, recovery targets and limited bandwidth turn software architecture into a series of explicit trade-offs.</description><pubDate>Thu, 03 Sep 2026 07:00:00 GMT</pubDate></item><item><title>A Test That Never Fails Is Not Reassuring</title><link>https://www.sebastianodruda.it/writing/a-test-that-never-fails-is-not-reassuring/</link><guid isPermaLink="true">https://www.sebastianodruda.it/writing/a-test-that-never-fails-is-not-reassuring/</guid><description>Tests earn trust by exposing mistakes. A practical look at boundaries, regressions and failure cases, using the verification workflow behind this static site.</description><pubDate>Wed, 02 Sep 2026 07:00:00 GMT</pubDate></item></channel></rss>