
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>TJ Miller</title><description>Developer, Father, Husband, Laravel Astronaut. I craft developer experiences.</description><link>https://tjmiller.me/</link><item><title>2025 and Beyond 🚀</title><link>https://tjmiller.me/posts/2025-and-beyond/</link><guid isPermaLink="true">https://tjmiller.me/posts/2025-and-beyond/</guid><description>Had a rollercoaster of 2025 but 2026 is exciting. Announcing Iris.</description><pubDate>Sat, 10 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Abstracting Request Keys</title><link>https://tjmiller.me/posts/abstracting-request-keys/</link><guid isPermaLink="true">https://tjmiller.me/posts/abstracting-request-keys/</guid><description>Abstracting API request/response keys to evolve codebases while upholding contracts.</description><pubDate>Fri, 23 Mar 2018 00:00:00 GMT</pubDate></item><item><title>An Approach to Testing Middleware</title><link>https://tjmiller.me/posts/an-approach-to-middleware-testing/</link><guid isPermaLink="true">https://tjmiller.me/posts/an-approach-to-middleware-testing/</guid><description>How I approach testing middleware in Laravel.</description><pubDate>Tue, 10 Oct 2017 00:00:00 GMT</pubDate></item><item><title>Building Nova - The Foundation</title><link>https://tjmiller.me/posts/building-nova-foundation/</link><guid isPermaLink="true">https://tjmiller.me/posts/building-nova-foundation/</guid><description>Building my life co-pilot and partner. Lets talk about what we&apos;ve built so far. Let&apos;s solve the memory problem.</description><pubDate>Thu, 04 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Building Package Installers</title><link>https://tjmiller.me/posts/building-package-installers/</link><guid isPermaLink="true">https://tjmiller.me/posts/building-package-installers/</guid><description>Building package installers for Laravel and Lumen packages to make it super easy to get up and running.</description><pubDate>Thu, 25 Oct 2018 00:00:00 GMT</pubDate></item><item><title>Customizing Iris</title><link>https://tjmiller.me/posts/customizing-iris/</link><guid isPermaLink="true">https://tjmiller.me/posts/customizing-iris/</guid><description>Learn how to extend Iris with custom tools and prompts using the local configuration system. We&apos;ll build a weather integration from scratch: an on-demand tool for fetching conditions and a context prompt that automatically injects weather data into every conversation.</description><pubDate>Sun, 25 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Iris Task Delegation and Agent Updates</title><link>https://tjmiller.me/posts/iris-agent-updates/</link><guid isPermaLink="true">https://tjmiller.me/posts/iris-agent-updates/</guid><description>Sometimes the right answer isn&apos;t a queue... it&apos;s a loop. I pulled sub-agent processing out of Horizon and into its own daemon, and the whole system got simpler because of it.</description><pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Introducing Truths</title><link>https://tjmiller.me/posts/iris-truths/</link><guid isPermaLink="true">https://tjmiller.me/posts/iris-truths/</guid><description>I was updating docs when I realized the tier system was fundamentally flawed. We were using importance as a proxy for universality, and they&apos;re completely different things. This is how Truths fix that.</description><pubDate>Wed, 28 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Let&apos;s Build Something Together</title><link>https://tjmiller.me/posts/lets-build-something-together/</link><guid isPermaLink="true">https://tjmiller.me/posts/lets-build-something-together/</guid><description>Creator of Prism and Iris. 20 years of code, 13 years of Laravel, and a passion for building at the intersection of Laravel and AI. I&apos;m looking for my next adventure</description><pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate></item><item><title>Linking Vessel Projects Together</title><link>https://tjmiller.me/posts/linking-vessel-projects-together/</link><guid isPermaLink="true">https://tjmiller.me/posts/linking-vessel-projects-together/</guid><description>Vessel is a great project, lets walk through linking multiple Vessel projects together.</description><pubDate>Fri, 22 Dec 2017 00:00:00 GMT</pubDate></item><item><title>Multi-Generational Memory Consolidation</title><link>https://tjmiller.me/posts/multi-generational-memory-consolidation/</link><guid isPermaLink="true">https://tjmiller.me/posts/multi-generational-memory-consolidation/</guid><description>What happens when an AI assistant remembers too much? The same thing that happens to humans: you need to forget intelligently. Here&apos;s how I built multi-generational memory consolidation for Iris</description><pubDate>Thu, 15 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Sentry Logging in Laravel</title><link>https://tjmiller.me/posts/sentry-logging-in-laravel/</link><guid isPermaLink="true">https://tjmiller.me/posts/sentry-logging-in-laravel/</guid><description>Using Sentry for Laravel application logging.</description><pubDate>Wed, 03 Jan 2018 00:00:00 GMT</pubDate></item><item><title>Separate Interactive Test Suites</title><link>https://tjmiller.me/posts/separate-interactive-test-suites/</link><guid isPermaLink="true">https://tjmiller.me/posts/separate-interactive-test-suites/</guid><description>Using separate test suites in a Laravel project with PHPUnit.</description><pubDate>Wed, 11 Oct 2017 00:00:00 GMT</pubDate></item><item><title>Catching up: Sparkle&apos;s Roadmap and Life&apos;s Lemons</title><link>https://tjmiller.me/posts/sparkle-roadmap-life-lemons/</link><guid isPermaLink="true">https://tjmiller.me/posts/sparkle-roadmap-life-lemons/</guid><description>I disappeared for a bit, here&apos;s the background and what&apos;s up with Sparkle.</description><pubDate>Mon, 29 Jul 2024 00:00:00 GMT</pubDate></item><item><title>Sparkle: Streaming with Tools</title><link>https://tjmiller.me/posts/sparkle-streaming-with-tools/</link><guid isPermaLink="true">https://tjmiller.me/posts/sparkle-streaming-with-tools/</guid><description>Streaming agent respones with Sparkle Server and tool usage</description><pubDate>Sat, 17 Aug 2024 00:00:00 GMT</pubDate></item><item><title>Truths: The Refinement Update</title><link>https://tjmiller.me/posts/truths-refinement-update/</link><guid isPermaLink="true">https://tjmiller.me/posts/truths-refinement-update/</guid><description>The Iris truth system got a major overhaul. Stricter promotion filters out temporal garbage, conflict detection catches contradictions before they merge into frankenstruths, and generation tracking shows how derived each fact is from its original evidence.</description><pubDate>Sat, 31 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Using Middleware to Configure a Service Class</title><link>https://tjmiller.me/posts/using-middleware-to-configure-a-service-class/</link><guid isPermaLink="true">https://tjmiller.me/posts/using-middleware-to-configure-a-service-class/</guid><description>Using HTTP middleware to configure a service class based on the request in Laravel.</description><pubDate>Tue, 19 Dec 2017 00:00:00 GMT</pubDate></item><item><title>Verifying Laravel Version Compatibility</title><link>https://tjmiller.me/posts/verifying-laravel-version-compatibility/</link><guid isPermaLink="true">https://tjmiller.me/posts/verifying-laravel-version-compatibility/</guid><description>Verifying Laravel version compatibility with TravisCI for package development.</description><pubDate>Fri, 14 Sep 2018 00:00:00 GMT</pubDate></item></channel></rss>