An interactive, multistream-compatible on-stream donation widget and OBS dock customizer for The Scriber Experience, built to perfectly match the visual aesthetic of the tse-landing-page project.
- 🎨 Faithful TSE Aesthetic: Glassmorphism (
backdrop-filter: blur(14px)), cyber glow gradient borders (#00f2ff,#3b82f6,#8b5cf6,#ec4899),AclonicaandOrbitronfonts, animated glowing buttons (color-1throughcolor-9). - 🌐 Multistream Compatible: Shows active multistream channel indicators with live pulse animations across Twitch, Velora, YouTube, Kick, and BEAM.
- 💳 Universal Donation Support:
- 💸 Cash App:
$renzoscriber - ☕ Buy Me a Coffee:
renzoscriber - 📦 Amazon Wishlist:
TSE Wishlist - 🌊 TSE Portal:
tse-landing-page
- 💸 Cash App:
- 📱 Dynamic Crisp QR Code Generator: Renders glowing SVG QR codes directly in OBS for mobile viewers scanning TV/PC screens (zero external network dependencies).
- 🎮 OBS Interactive Browser Source Ready: Supports OBS Studio's right-click Interact mode to click buttons, switch tabs, toggle QR overlays, and copy URLs with feedback toasts.
- 🎯 Stream Donation Goal Tracker: Animated glowing goal progress bar with real-time target adjustments and top donor highlights.
- 🔊 Built-in Web Audio Alert Synthesizer: Retro/cyber cheer sound synthesis via Web Audio API (no missing audio assets).
- 🎉 Particle Confetti Celebrations: Full-screen cyber particle bursts on cheers/donations.
- 🔄 4 Overlay Layout Modes: QR Card, Goal HUD, Marquee Ticker, and Interactive Control Dock.
- 🚀 Live Webhook & Chat Bot Integration: Local Server-Sent Events (SSE) and
/api/cheerREST endpoints to trigger on-screen alerts from chat bots (!donatecommand) or payment webhooks.
npm startThe widget will be running at http://localhost:3000.
npm test- Open OBS Studio.
- In the Sources dock, click
+and chooseBrowser. - Name it
TSE Donate Widget. - Configure the Browser Source settings:
- URL:
http://localhost:3000(or with query parameters below) - Width:
500(or960for Ticker mode) - Height:
200(or400for QR Card mode) - Custom CSS: leave blank (widget has built-in transparent background)
- Check ✅ Shutdown source when not visible
- Check ✅ Refresh browser when scene becomes active
- URL:
- Click OK.
- Interacting with the Widget: Right-click the Browser Source in OBS and select
Interactto click tabs, toggle the QR code, copy links, or test alerts.
- In OBS Studio top menu, click
Docks➔Custom Browser Docks... - In Dock Name, enter:
TSE Donate Control - In URL, enter:
http://localhost:3000/?mode=dock - Click Apply.
- Dock the new panel anywhere inside OBS Studio! You can now adjust goal targets, test cheers with confetti, and launch platform channels with 1 click.
Customize the overlay directly via the Browser Source URL:
| Parameter | Values | Default | Description |
|---|---|---|---|
mode |
card, platforms, links, goal, ticker, dock |
card |
Layout mode for overlay or dock |
target |
cashapp, bmac, amazon, landing |
cashapp |
Initial active donation method |
platform |
all, twitch, velora, youtube, kick, beam |
all |
Highlighted multistream platform |
scale |
0.8, 1.0, 1.2, 1.5, etc. |
1 |
Widget display scale |
align |
top-left, top-right, bottom-left, bottom-right, center |
top-left |
Alignment in viewport |
goal |
Number (e.g. 100, 250) |
100 |
Target donation goal amount in $ |
current |
Number (e.g. 45, 80) |
45 |
Currently raised donation amount in $ |
title |
Text (URL encoded) | Stream Upgrade Goal |
Goal title text |
sound |
true, false |
true |
Enable/disable audio chimes |
autoRotate / cycle |
true, false |
true |
Automatically cycle through tabs (Donations ➔ Platforms ➔ TSE Links) |
cycleMode |
tabs, subtabs |
tabs |
Cycle top-level tabs or subtabs per method |
interval |
Number (in seconds) | 12 |
Cycle duration per tab before transition |
testMode |
true, false |
false |
Shows background for standalone preview |
- On-Screen Glowing QR Card (Bottom-Right):
http://localhost:3000/?mode=card&align=bottom-right - Goal Progress HUD (Bottom-Left):
http://localhost:3000/?mode=goal&align=bottom-left&goal=150¤t=75&title=New%20Mic%20Fund - Full Width Stream Ticker (Bottom):
http://localhost:3000/?mode=ticker&align=center
You can trigger on-stream cheer alert animations and particle confetti from any local script, webhook, or chat bot command:
curl -X POST http://localhost:3000/api/cheer \
-H "Content-Type: application/json" \
-d '{"donor":"Katnip the Brave","amount":"$20.00","message":"Hardcore mode enabled! 🚀"}'http://localhost:3000/api/cheer?donor=Alleria+the+Best&amount=$50.00&message=For+the+Horde!
scriber-donate-widget/
├── public/
│ ├── assets/
│ │ └── images/ # TSE logos, avatars & background
│ ├── css/
│ │ └── styles.css # Glassmorphism, animations & TSE branding
│ ├── html/
│ │ └── index.html # Main OBS widget & layout modes
│ └── js/
│ ├── confetti.js # Particle cheer explosion engine
│ ├── qr-generator.js # Zero-dependency SVG QR code generator
│ └── widget.js # Controller, state machine & Web Audio synth
├── test/
│ └── widget.test.js # Automated test suite
├── server.js # Static file server & SSE / REST alert bridge
├── index.js # Entry point
└── package.json
© 2025–2026 Eigenscribe Inc. / The Scriber Experience. All rights reserved.