<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Sam Eddy</title><description>Twilio voice, voice AI, and support operations. Built on real telephony, at real customer scale.</description><link>https://samueleddy.com/</link><item><title>iOS Safari audio sessions: fifteen commits to a working voice mode</title><link>https://samueleddy.com/writing/ios-safari-audio-sessions/</link><guid isPermaLink="true">https://samueleddy.com/writing/ios-safari-audio-sessions/</guid><description>What it took to make a continuous-mic voice agent reliable in Safari on iOS. AudioContext routing, mic prime-and-release, the W3C Audio Session API, and the failures that taught me each one.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item><item><title>Pre-render your TTS audio, don&apos;t stream it</title><link>https://samueleddy.com/writing/pre-render-tts/</link><guid isPermaLink="true">https://samueleddy.com/writing/pre-render-tts/</guid><description>Why streaming every utterance is the wrong default for production voice apps — the cost shape, the quota wall, the latency tax, and the pre-render pipeline I built to replace it.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item><item><title>Three deploy pivots: each fix bought time, not a solution</title><link>https://samueleddy.com/writing/three-deploy-pivots/</link><guid isPermaLink="true">https://samueleddy.com/writing/three-deploy-pivots/</guid><description>RecallIQ&apos;s deploy pipeline went from build-on-EC2 to build-on-Mac to GitHub Actions. Three forced pivots, three walls, three fixes that each looked permanent for a while. The pattern of right-sizing where the work actually happens.</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate></item></channel></rss>