About
I'm a full-stack developer who streams. The thing I keep coming back to is the seam between "builds shippable software" and "runs a Twitch channel" — every overlay and companion app I make is one I'd use myself that night.
Most of my work runs on Cloudflare Workers and Next.js static export — cheap to host, fast everywhere, no server tax to keep something free. The Twitch stack is anonymous IRC for chat events and EventSub for everything Twitch removed from IRC. Spotify integration via the Web API. Configuration changes hot-swap to the live overlay over a Durable Object websocket fanout.
I like writing code that does what the box says, in fewer lines than expected, with no half-finished migrations. I don't like dashboards that won't tell you why something broke.
Selected work
Stream Toolkit
An open-source pack of OBS browser-source overlays and companion apps for Twitch streamers — lurk peek, !sr Spotify, chat box, event list, BRB player, video shout-out, emote rain, death counter, subathon timer. One Twitch login, zero subscriptions, hot-swap config preview.
ForgetMeNot
A Twitch chat bot with persistent local-first memory. Remembers chatters across streams, tunable persona (GLaDOS / HAL / TARS register), opt-in research mode that hands factual questions to a reasoning model. Ships as a tiny tray app — not Electron, not Tauri.
Clipline
Desktop tool for bulk-backing-up Twitch clips. Filters by date, view count, creator. Resumes interrupted downloads, retries failures, skips clips you already pulled. Built for streamers who don't want to lose their archive when Twitch decides to.
Alert! Alert!
Lightweight desktop notifier that pops a native system alert when configured chat keywords or events fire on a Twitch channel. Useful when you're alt-tabbed or running a solo stream and don't want to miss a sub / raid / panic word.
Collab Planner
Scheduling tool for stream crews. Reads each member's Twitch VOD history and auto-detects overlap windows — skips the calendar-tetris for collab streams. Supabase + Prisma + Postgres backend.
P.A.T.H.O.S.
An interactive 3D resume / portfolio rendered in the browser. Low-poly PSX aesthetic, in-world UI, every project is a physical object you pick up and inspect. Built with Three.js and a hand-rolled PSX shader pack.
Writing
- Jun 2026EBU R128 loudness in the browser
- Jun 2026Twitch IRC vs EventSub: when each one wins
- Jun 2026Hot-swap overlay config with Durable Objects
- Feb 2026Twitch chat overlay with 7TV + BTTV + FFZ emotes
- Jan 2026Free subathon timer for OBS — survives refresh
- Dec 2025Free alternative to OWN3D / StreamElements lurk overlay
- Nov 2025Free !sr Spotify song-request bot for Twitch — full setup
- Nov 2025How to add a browser source in OBS
More guides on the toolset docs.
Stack
Contact
The fastest way to reach me is deutschmarkonline@gmail.com. I'm also on GitHub and live on Twitch a few nights a week — usually breaking the toolset on stream and fixing it before chat notices.