Skip to content

Theo Chat 1.0.0

Choose a tag to compare

@MikePfunk28 MikePfunk28 released this 15 Apr 16:06
· 43 commits to main since this release
5a561e6

Merges YouTube live chat into your Twitch chat view. YouTube messages appear inline in the native Twitch chat panel with a red YT badge. When YouTube mods delete a message or ban a user, those actions sync to the Twitch view instantly. Built for theo.gg — but works for any streamer who simulcasts to YouTube + Twitch.

Live site: t3yt.mikepfunk.com


How It Works

YouTube goes live
       │
       ▼
YouTube PubSub push ───► [Railway service] ──(videos.list, 1 quota)──► gRPC stream
                               │
                               ▼ (WebSocket)
                        [Browser extension]
                               │
                               ▼ (DOM injection)
                         Twitch chat panel ─── YT messages + mod sync

Architecture

Three deployable surfaces:

Surface Stack Hosted on Purpose
Service Node.js + gRPC + ws Railway Connects to YouTube, relays chat via WebSocket, serves /overlay
Landing + API Cloudflare Worker Cloudflare t3yt.mikepfunk.com landing, /api/config, /privacy
Extension WebExtension MV3 Firefox/Zen/Chrome Injects YouTube messages into Twitch DOM, popup control rig

Key features

  • Zero-delay by default — messages appear instant
  • Opt-in mod buffer — slider in popup lets Theo hold messages 0–30s so mods can delete on YouTube before viewers ever see them; deleted-while-buffered messages never render
  • Instant mod sync — deletions and bans from YouTube mods reflect in the Twitch view immediately
  • Super chats, member badges, owner badges pass through with proper styling
  • Auto-reconnect on both the gRPC and WebSocket layers
  • PubSub auto-renewal every 4 days (subscription lease is 5 days)
  • Zero-config extension — fetches WS URL from t3yt.mikepfunk.com/api/config at startup; Theo never types a URL

Full Changelog: https://github.com/MikePfunk28/theo_chat/commits/v1.0.0