From 4e09122dbd6d3265cf78a6618fb7d522c43c7893 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Wed, 21 Oct 2026 23:48:26 -0700 Subject: [PATCH 1/2] Ready the voice AI post for launch Date it for the 22nd, fix a typo, point the Claude Code link at the product, name the demo's providers like moq.pro's page does, and catch the meme's autoplay rejection when Chrome pauses offscreen video. Co-Authored-By: Claude Opus 5.5 --- src/components/meme.astro | 3 ++- src/components/voice-demo.tsx | 4 +++- src/pages/blog/webrtc-is-still-the-problem.mdx | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/components/meme.astro b/src/components/meme.astro index 68395d4..bad59bf 100644 --- a/src/components/meme.astro +++ b/src/components/meme.astro @@ -31,7 +31,8 @@ const { src, label, class: className } = Astro.props; if (muted && still()) video.pause(); }; - if (!still()) video.play(); + // Chrome rejects this when it pauses muted offscreen video to save power; it resumes on scroll. + if (!still()) video.play().catch(() => {}); button.addEventListener("click", () => { setMuted(!video.muted); diff --git a/src/components/voice-demo.tsx b/src/components/voice-demo.tsx index 666ba3b..9159a88 100644 --- a/src/components/voice-demo.tsx +++ b/src/components/voice-demo.tsx @@ -566,7 +566,9 @@ export default function VoiceDemo() { }} -

Audio is sent to the demo agent, not stored by this page.

+

+ Your audio goes to Deepgram, OpenAI, and Cartesia for the call. We don't keep it. +

); } diff --git a/src/pages/blog/webrtc-is-still-the-problem.mdx b/src/pages/blog/webrtc-is-still-the-problem.mdx index 93e5f88..1002cc2 100644 --- a/src/pages/blog/webrtc-is-still-the-problem.mdx +++ b/src/pages/blog/webrtc-is-still-the-problem.mdx @@ -4,7 +4,7 @@ title: "OpenAI still has a WebRTC Problem" author: kixelated description: Your voice AI keeps asking "can you repeat that?" because WebRTC throws away your words. MoQ doesn't. cover: "/blog/webrtc-is-still-the-problem/context.png" -date: 2026-10-21 +date: 2026-10-22 --- import SpeechToText from "@/components/voice/stt"; @@ -279,7 +279,7 @@ A voice agent should **instead** ask the **transport** to retransmit a prompt. **Spoiler alert**: [Media over QUIC](https://moq.dev) is that better transport btw. [Pipecat now supports MoQ](https://github.com/pipecat-ai/pipecat/pull/4629)! -A huge thank you to [Vanessa](https://github.com/vipyne) and [Claude Code](https://claude.ai) for putting in the work and putting up with my constant "improvements". +A huge thank you to [Vanessa](https://github.com/vipyne) and [Claude Code](https://claude.com/claude-code) for putting in the work and putting up with my constant "improvements". Here's a crude demo with my credit card deets attached. please don't milk me dry. @@ -491,7 +491,7 @@ In fact, my first big *customer* is using [moq.pro](https://moq.pro) to mass fan Literally a generic pub/sub protocol masquerading as an A/V protocol. ## Prioritize Context -I'm a transport and ideas guy, not an AI scientest. +I'm a transport and ideas guy, not an AI scientist. Don't flame me if this is obvious and/or impossible. The core problem with WebRTC+AI is that there's a disconnect between the model and the transport. From 584fb2f76149c3a3e5a33a422cdd4e2a5ec43496 Mon Sep 17 00:00:00 2001 From: Luke Curley Date: Wed, 21 Oct 2026 23:52:30 -0700 Subject: [PATCH 2/2] Link the voice demo's footnote to moq.pro's privacy policy Co-Authored-By: Claude Opus 5.5 --- src/components/voice-demo.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/voice-demo.tsx b/src/components/voice-demo.tsx index 9159a88..d8edba4 100644 --- a/src/components/voice-demo.tsx +++ b/src/components/voice-demo.tsx @@ -567,7 +567,10 @@ export default function VoiceDemo() {

- Your audio goes to Deepgram, OpenAI, and Cartesia for the call. We don't keep it. + Your audio goes to Deepgram, OpenAI, and Cartesia for the call. We don't keep it.{" "} + + Privacy +

);