<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[Alex O'Callaghan]]></title>
        <description><![CDATA[Alex O'Callaghan]]></description>
        <link>https://alexocallaghan.com</link>
        <generator>RSS for Node</generator>
        <lastBuildDate>Thu, 20 Aug 2026 10:10:15 GMT</lastBuildDate>
        <atom:link href="https://alexocallaghan.com/rss.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Thu, 20 Aug 2026 10:10:15 GMT</pubDate>
        <item>
            <title><![CDATA[Implementing a retrospective agent: how it works]]></title>
            <description><![CDATA[Using an LLM agent to bring productivity metrics into engineering retrospectives]]></description>
            <link>https://alexocallaghan.com/retro-agent-how-it-works</link>
            <guid isPermaLink="true">https://alexocallaghan.com/retro-agent-how-it-works</guid>
            <category><![CDATA[ai-agents]]></category>
            <pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Parity before cutover]]></title>
            <description><![CDATA[How downgrading a service unblocked its cloud migration: incremental releases beat big-bang cutovers for legacy upgrades.]]></description>
            <link>https://alexocallaghan.com/parity-before-cutover</link>
            <guid isPermaLink="true">https://alexocallaghan.com/parity-before-cutover</guid>
            <category><![CDATA[platform-engineering]]></category>
            <category><![CDATA[python]]></category>
            <pubDate>Thu, 23 Jul 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[June Reading List]]></title>
            <description><![CDATA[A collection of interesting things I've read in June.]]></description>
            <link>https://alexocallaghan.com/june-2026-reading-list</link>
            <guid isPermaLink="true">https://alexocallaghan.com/june-2026-reading-list</guid>
            <category><![CDATA[reading-list]]></category>
            <pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Faster micro-frontends: optimising CDN behaviour for performance]]></title>
            <description><![CDATA[How optimising CDN caching improved performance metrics for our microfrontend architecture]]></description>
            <link>https://alexocallaghan.com/faster-microfrontends-cdn-optimisation</link>
            <guid isPermaLink="true">https://alexocallaghan.com/faster-microfrontends-cdn-optimisation</guid>
            <category><![CDATA[microfrontends]]></category>
            <category><![CDATA[platform-engineering]]></category>
            <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Building my son a Minecraft phonics game with AI]]></title>
            <description><![CDATA[I built a Minecraft phonics game for my son using AI, tailoring a game to his interests and learning needs]]></description>
            <link>https://alexocallaghan.com/minecraft-phonics-game</link>
            <guid isPermaLink="true">https://alexocallaghan.com/minecraft-phonics-game</guid>
            <category><![CDATA[ai-agents]]></category>
            <pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[May Reading List]]></title>
            <description><![CDATA[A collection of interesting things I've read in May.]]></description>
            <link>https://alexocallaghan.com/may-2026-reading-list</link>
            <guid isPermaLink="true">https://alexocallaghan.com/may-2026-reading-list</guid>
            <category><![CDATA[reading-list]]></category>
            <pubDate>Tue, 02 Jun 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Measuring before tooling: where AI investment in engineering should go]]></title>
            <description><![CDATA[To target investment where it can make the biggest difference, start with measurement and understanding before rolling out more tools.]]></description>
            <link>https://alexocallaghan.com/measuring-before-tooling</link>
            <guid isPermaLink="true">https://alexocallaghan.com/measuring-before-tooling</guid>
            <category><![CDATA[ai-agents]]></category>
            <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[April Reading List]]></title>
            <description><![CDATA[A collection of things I read in April that stuck with me, covering AI agents, tooling and other interesting blog posts.]]></description>
            <link>https://alexocallaghan.com/april-reading-list</link>
            <guid isPermaLink="true">https://alexocallaghan.com/april-reading-list</guid>
            <category><![CDATA[reading-list]]></category>
            <category><![CDATA[ai-agents]]></category>
            <category><![CDATA[tooling]]></category>
            <category><![CDATA[design-systems]]></category>
            <pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Hardening npm dependency security]]></title>
            <description><![CDATA[Approaches to reduce the risk of supply chain attacks in npm dependencies.]]></description>
            <link>https://alexocallaghan.com/hardening-npm-dependency-security</link>
            <guid isPermaLink="true">https://alexocallaghan.com/hardening-npm-dependency-security</guid>
            <category><![CDATA[tooling]]></category>
            <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Caching & CDNs with micro-frontends]]></title>
            <description><![CDATA[How we've approached caching in a micro-frontend architecture]]></description>
            <link>https://alexocallaghan.com/caching-cdn-with-microfrontends</link>
            <guid isPermaLink="true">https://alexocallaghan.com/caching-cdn-with-microfrontends</guid>
            <category><![CDATA[microfrontends]]></category>
            <category><![CDATA[platform-engineering]]></category>
            <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[You can't trust agent tests]]></title>
            <description><![CDATA[Why passing tests aren't correct tests, and how to get an agent to validate them]]></description>
            <link>https://alexocallaghan.com/you-cant-trust-agent-tests</link>
            <guid isPermaLink="true">https://alexocallaghan.com/you-cant-trust-agent-tests</guid>
            <category><![CDATA[ai-agents]]></category>
            <category><![CDATA[testing]]></category>
            <pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Moving fast with agents without losing comprehension]]></title>
            <description><![CDATA[On test coverage, code authorship, and what reviewers need from you when agents are doing the writing]]></description>
            <link>https://alexocallaghan.com/moving-fast-with-agents-without-losing-comprehension</link>
            <guid isPermaLink="true">https://alexocallaghan.com/moving-fast-with-agents-without-losing-comprehension</guid>
            <category><![CDATA[ai-agents]]></category>
            <category><![CDATA[tooling]]></category>
            <category><![CDATA[testing]]></category>
            <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[AI agents and platform teams]]></title>
            <description><![CDATA[How I'm using AI agents for platform team work]]></description>
            <link>https://alexocallaghan.com/ai-agents-platform-team</link>
            <guid isPermaLink="true">https://alexocallaghan.com/ai-agents-platform-team</guid>
            <category><![CDATA[ai-agents]]></category>
            <category><![CDATA[platform-engineering]]></category>
            <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[React design system library MCP]]></title>
            <description><![CDATA[Exposing Storybook documentation to AI agents via an MCP server]]></description>
            <link>https://alexocallaghan.com/react-design-system-library-mcp</link>
            <guid isPermaLink="true">https://alexocallaghan.com/react-design-system-library-mcp</guid>
            <category><![CDATA[ai-agents]]></category>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[tooling]]></category>
            <pubDate>Mon, 02 Feb 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Open sourcing our microfrontend React bridge]]></title>
            <description><![CDATA[A library for rendering microfrontends in separate React trees]]></description>
            <link>https://alexocallaghan.com/open-sourcing-mfe-react-bridge</link>
            <guid isPermaLink="true">https://alexocallaghan.com/open-sourcing-mfe-react-bridge</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[microfrontends]]></category>
            <pubDate>Fri, 23 Jan 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Reflecting on Enterprise Engineering Summit 2025]]></title>
            <description><![CDATA[Key takeaways from the Enterprise Engineering Summit 2025]]></description>
            <link>https://alexocallaghan.com/enterprise-engineering-summit-reflection</link>
            <guid isPermaLink="true">https://alexocallaghan.com/enterprise-engineering-summit-reflection</guid>
            <category><![CDATA[platform-engineering]]></category>
            <pubDate>Tue, 11 Nov 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Migrating to Vite]]></title>
            <description><![CDATA[Switching to use Vite for building a React component library]]></description>
            <link>https://alexocallaghan.com/migrating-to-vite</link>
            <guid isPermaLink="true">https://alexocallaghan.com/migrating-to-vite</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[tooling]]></category>
            <category><![CDATA[design-systems]]></category>
            <pubDate>Tue, 29 Jul 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Package exports and eslint-plugin-import]]></title>
            <description><![CDATA[Resolving package.json exports with eslint-plugin-import]]></description>
            <link>https://alexocallaghan.com/exports-and-eslint-plugin-import</link>
            <guid isPermaLink="true">https://alexocallaghan.com/exports-and-eslint-plugin-import</guid>
            <category><![CDATA[tooling]]></category>
            <pubDate>Mon, 10 Feb 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Creating your own React design system analytics tool]]></title>
            <description><![CDATA[Using react-scanner to implement an Omlet alternative]]></description>
            <link>https://alexocallaghan.com/creating-your-own-react-design-system-analytics-tool</link>
            <guid isPermaLink="true">https://alexocallaghan.com/creating-your-own-react-design-system-analytics-tool</guid>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[tooling]]></category>
            <pubDate>Wed, 13 Nov 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Upgrading React with micro-frontends]]></title>
            <description><![CDATA[How to upgrade React incrementally across multiple micro-frontends]]></description>
            <link>https://alexocallaghan.com/upgrading-react-with-microfrontends</link>
            <guid isPermaLink="true">https://alexocallaghan.com/upgrading-react-with-microfrontends</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[microfrontends]]></category>
            <pubDate>Wed, 23 Oct 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Module not available for eager consumption]]></title>
            <description><![CDATA[Fixing a Module Federation error]]></description>
            <link>https://alexocallaghan.com/module-not-available-for-eager-consumption</link>
            <guid isPermaLink="true">https://alexocallaghan.com/module-not-available-for-eager-consumption</guid>
            <category><![CDATA[microfrontends]]></category>
            <pubDate>Thu, 19 Sep 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Delay using a federated module]]></title>
            <description><![CDATA[Ensure federated module has loaded before using it]]></description>
            <link>https://alexocallaghan.com/delay-using-federated-module</link>
            <guid isPermaLink="true">https://alexocallaghan.com/delay-using-federated-module</guid>
            <category><![CDATA[microfrontends]]></category>
            <pubDate>Fri, 09 Aug 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Using the experimental React Compiler]]></title>
            <description><![CDATA[Trying out the React Compiler with React 19 beta]]></description>
            <link>https://alexocallaghan.com/react-compiler</link>
            <guid isPermaLink="true">https://alexocallaghan.com/react-compiler</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[tooling]]></category>
            <pubDate>Mon, 20 May 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Using GitLab API to create a DORA metrics dashboard]]></title>
            <description><![CDATA[Measure developer team productivity using deployment frequency and lead time for changes]]></description>
            <link>https://alexocallaghan.com/dora-metrics-gitlab-api</link>
            <guid isPermaLink="true">https://alexocallaghan.com/dora-metrics-gitlab-api</guid>
            <category><![CDATA[platform-engineering]]></category>
            <category><![CDATA[tooling]]></category>
            <pubDate>Thu, 16 May 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Using TypedDict with invalid attribute names]]></title>
            <description><![CDATA[How to use a TypedDict with item keys that aren't valid identifiers]]></description>
            <link>https://alexocallaghan.com/using-typeddict-with-invalid-attribute-names</link>
            <guid isPermaLink="true">https://alexocallaghan.com/using-typeddict-with-invalid-attribute-names</guid>
            <category><![CDATA[python]]></category>
            <pubDate>Wed, 17 Apr 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Mock server-sent events (SSE) with msw]]></title>
            <description><![CDATA[Mock Service Worker supports mocking SSE]]></description>
            <link>https://alexocallaghan.com/mock-sse-with-msw</link>
            <guid isPermaLink="true">https://alexocallaghan.com/mock-sse-with-msw</guid>
            <category><![CDATA[testing]]></category>
            <pubDate>Fri, 05 Apr 2024 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Exclude node_modules with Webpack]]></title>
            <description><![CDATA[Avoid bundling dependencies when building a library]]></description>
            <link>https://alexocallaghan.com/exclude-node-modules-with-webpack</link>
            <guid isPermaLink="true">https://alexocallaghan.com/exclude-node-modules-with-webpack</guid>
            <category><![CDATA[tooling]]></category>
            <pubDate>Fri, 15 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Accessibility testing]]></title>
            <description><![CDATA[Overview of approaches and tools for testing web accessibility]]></description>
            <link>https://alexocallaghan.com/accessibility-testing</link>
            <guid isPermaLink="true">https://alexocallaghan.com/accessibility-testing</guid>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[design-systems]]></category>
            <pubDate>Thu, 07 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Dynamically load remoteEntry.js files]]></title>
            <description><![CDATA[Control loading Webpack Module Federation remoteEntry.js files to improve peformance]]></description>
            <link>https://alexocallaghan.com/dynamic-remote-entry</link>
            <guid isPermaLink="true">https://alexocallaghan.com/dynamic-remote-entry</guid>
            <category><![CDATA[microfrontends]]></category>
            <category><![CDATA[tooling]]></category>
            <pubDate>Fri, 11 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Configure Boto3 endpoint_url]]></title>
            <description><![CDATA[Use environment variables to point Boto3 at local services]]></description>
            <link>https://alexocallaghan.com/configure-boto3-endpoint-url</link>
            <guid isPermaLink="true">https://alexocallaghan.com/configure-boto3-endpoint-url</guid>
            <category><![CDATA[python]]></category>
            <pubDate>Sat, 05 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Mocking Boto3 with pytest]]></title>
            <description><![CDATA[Mock requests to AWS services with pytest]]></description>
            <link>https://alexocallaghan.com/mocking-boto3-with-pytest</link>
            <guid isPermaLink="true">https://alexocallaghan.com/mocking-boto3-with-pytest</guid>
            <category><![CDATA[python]]></category>
            <category><![CDATA[testing]]></category>
            <pubDate>Tue, 25 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Platform team challenges]]></title>
            <description><![CDATA[Challenges faced when introducing a platform team]]></description>
            <link>https://alexocallaghan.com/platform-team-challenges</link>
            <guid isPermaLink="true">https://alexocallaghan.com/platform-team-challenges</guid>
            <category><![CDATA[platform-engineering]]></category>
            <pubDate>Mon, 24 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Python TypedDict with Generics]]></title>
            <description><![CDATA[How to define a Python type for a dict with generic values]]></description>
            <link>https://alexocallaghan.com/python-typeddict-with-generics</link>
            <guid isPermaLink="true">https://alexocallaghan.com/python-typeddict-with-generics</guid>
            <category><![CDATA[python]]></category>
            <pubDate>Sat, 01 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Contract testing with OpenAPI & TypeScript]]></title>
            <description><![CDATA[Validate contracts between backend services and frontend applications]]></description>
            <link>https://alexocallaghan.com/openapi-typescript-contract-testing</link>
            <guid isPermaLink="true">https://alexocallaghan.com/openapi-typescript-contract-testing</guid>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[tooling]]></category>
            <pubDate>Fri, 16 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Design system management]]></title>
            <description><![CDATA[Processes and challenges in managing an adopted design system]]></description>
            <link>https://alexocallaghan.com/design-system-management</link>
            <guid isPermaLink="true">https://alexocallaghan.com/design-system-management</guid>
            <category><![CDATA[design-systems]]></category>
            <category><![CDATA[platform-engineering]]></category>
            <pubDate>Thu, 20 Oct 2022 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Adopting a micro-frontend architecture]]></title>
            <description><![CDATA[Supporting scaleable web application development with micro-frontends]]></description>
            <link>https://alexocallaghan.com/tech-at-mintel-microfrontend</link>
            <guid isPermaLink="true">https://alexocallaghan.com/tech-at-mintel-microfrontend</guid>
            <category><![CDATA[microfrontends]]></category>
            <pubDate>Wed, 20 Apr 2022 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>