<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Jie Xiang</title><description>Reliability engineer. 6 years debugging production KVM/cloud systems. Now building AI Agents with Claude Code &amp; MCP. Writing about where AI agents break — and why it looks a lot like distributed systems.</description><link>https://jiexiang.dev/</link><item><title>My detector app needed a hardware demo video. It was 100% software.</title><link>https://jiexiang.dev/blog/detector-app-demo-video/</link><guid isPermaLink="true">https://jiexiang.dev/blog/detector-app-demo-video/</guid><description>Apple Review rejected my software-only stud finder for not including a video of it pairing with hardware. The fix lives in the first sentence of the App Store description.</description><pubDate>Wed, 22 Apr 2026 16:00:00 GMT</pubDate></item><item><title>Apple rejected my privacy manifest. The problem was a CocoaPod I never added.</title><link>https://jiexiang.dev/blog/transitive-cocoapod-privacy-manifest/</link><guid isPermaLink="true">https://jiexiang.dev/blog/transitive-cocoapod-privacy-manifest/</guid><description>A real Apple Review rejection over a missing NSPrivacyAccessedAPI declaration — except none of my own code touched the API. The leak was a transitive CocoaPod dependency.</description><pubDate>Tue, 21 Apr 2026 16:00:00 GMT</pubDate></item><item><title>Where my Claude Code spend actually went last week</title><link>https://jiexiang.dev/blog/where-my-spend-went/</link><guid isPermaLink="true">https://jiexiang.dev/blog/where-my-spend-went/</guid><description>I instrumented my Claude Code session logs by project. 50% of a $13K shadow-cost week goes to one codebase. The other six combined did not break $200.</description><pubDate>Tue, 21 Apr 2026 16:00:00 GMT</pubDate></item></channel></rss>