Inspiration
As a Twitch viewer you can wear a badge and pick a name color, and that's about it. The people who gift subs every week get the same short popup as everyone else, and then they're gone. I wanted the alert to belong to the viewer and to grow the more they support.
What it does
Every supporter gets their own robot, with their Twitch profile picture on its CRT monitor head. When they sub, resub, gift or cheer, their robot walks out on stream.
Each contribution earns points (Tier 1/2/3 subs give 1/2/5, and 500 bits give 1):
$$ P = s_1 + 2s_2 + 5s_3 + \frac{b}{500} $$
Five tiers unlock at 1, 100, 250, 500 and 1,000 points, and each tier has its own robot patterns. Drops aren't luck: once you reach a tier you own every pattern from the one before. Progress carries over to every channel using Robot Alerts, and viewers equip a pattern on the website. Streamers add one OBS browser source and pick their alert types, card style and sounds.
How I built it
I built it alone in a few days, mostly in one long OpenAI Codex thread. I described each feature, tested it in OBS and the browser, and sent Codex back whenever something looked or behaved wrong. Most of the backend, tests and deploy scripts came out of that thread.
The backend is plain Node.js with SQLite, EventSub webhooks and the Helix API. The overlay draws Blender-rendered robot layers on a canvas and animates them with GSAP. Patterns are baked into shared surface maps so one pattern covers the whole robot without hiding the face.
Challenges I ran into
- 3D in an overlay: a live 3D scene was too heavy for OBS, so I pre-render the robot in layers and put it back together in the browser.
- Fair counting: Twitch reports gift subs both as a summary and per recipient. Only the summary earns points, and deliveries are de-duplicated so nobody gets paid twice.
- Load time: the picker first loaded 15 MB of textures. Thumbnails cut it to under 1 MB.
Accomplishments
It runs on real Twitch channels, real subs and cheers have already earned points, and your robot follows you from stream to stream.
What I learned
The EventSub edge cases, how to layer Blender renders for the browser, and that small, specific requests to Codex work far better than big ones.
What's next for Robot Alerts
Swappable arms, legs, torsos, heads and door skins, more dance animations, and raids that bring the incoming chat in as a crowd of robots.
Log in or sign up for Devpost to join the conversation.