<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Matthew Cochran writing</title><description>Practical notes on developer tools, AI-assisted engineering, and software operations.</description><link>https://cochranweb.com/</link><item><title>Keep end-to-end tests useful as your app changes</title><link>https://cochranweb.com/blog/approved-user-journeys/</link><guid isPermaLink="true">https://cochranweb.com/blog/approved-user-journeys/</guid><description>Browser tests need upkeep. Jevitate helps you preserve a reviewed user workflow, attempt bounded repairs, and reuse that workflow to investigate failures.</description><pubDate>Fri, 16 Oct 2026 00:00:00 GMT</pubDate></item><item><title>Catch a failed save even when the page says Saved</title><link>https://cochranweb.com/blog/jevitate-launch/</link><guid isPermaLink="true">https://cochranweb.com/blog/jevitate-launch/</guid><description>Use Jevitate to investigate a misleading success message, inspect browser evidence, and recheck a fix against the failure that prompted it.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Before hiring more engineers, find where delivery gets stuck</title><link>https://cochranweb.com/blog/scale-readiness-overview/</link><guid isPermaLink="true">https://cochranweb.com/blog/scale-readiness-overview/</guid><description>Trace one recent feature through your team to distinguish a capacity shortage from coordination, architecture, and product-decision bottlenecks.</description><pubDate>Wed, 15 Jan 2025 00:00:00 GMT</pubDate></item></channel></rss>