<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Matthew Bilo</title><description>Writing about building AI software that holds up in real use.</description><link>https://mattbilo.com/</link><item><title>Don&apos;t tell the AI not to touch money. Make it so it can&apos;t.</title><link>https://mattbilo.com/blog/make-it-so-it-cant/</link><guid isPermaLink="true">https://mattbilo.com/blog/make-it-so-it-cant/</guid><description>Telling an AI &quot;never move money&quot; is a wish it can misread, ignore, or be talked out of. Making a money-move fail to compile is a guarantee. The difference between asking for safe behaviour and designing so the unsafe thing can&apos;t exist.</description><pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate><category>building with AI</category><category>AI agents</category><category>safety</category></item><item><title>Your demo never crashes at the wrong moment</title><link>https://mattbilo.com/blog/your-demo-never-crashes/</link><guid isPermaLink="true">https://mattbilo.com/blog/your-demo-never-crashes/</guid><description>A demo is a performance where nothing fails, because in a demo there is no wrong moment. Production is the same feature with one difference: the wrong moment is always available. Two holes I found in my own app, and the tests that catch them.</description><pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate><category>building with AI</category><category>reliability</category><category>testing</category></item><item><title>The invisible debt</title><link>https://mattbilo.com/blog/the-invisible-debt/</link><guid isPermaLink="true">https://mattbilo.com/blog/the-invisible-debt/</guid><description>I sat in a meeting about a system my own team built, and I couldn&apos;t answer the simple questions. Neither could most of the room. So how does a team work this hard and still not understand its own code?</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate><category>building with AI</category><category>understanding</category></item></channel></rss>