Anomalist is a real-time overlay control system for streamers who want to own their stack. You arrange overlays in a browser, OBS displays the result live, and your mods can help without ever touching your machine.
Everything runs on your own server. Your layouts, uploads and Twitch credentials stay there.
- Visual canvas editor — drag, resize, rotate, snapping, undo/redo, multi-select
- Live transforms — the overlay moves while you drag, no save button
- Eleven widget types — text, image, timer, counter, marquee, clock, shape, soundboard, chat, particles and sandboxed custom HTML
- Scenes and presets — swap entire layouts mid-stream, with optional transitions
- Media library — images, video and audio, uploaded to and served by your server
- Twitch integration — chat feed, chatbot commands, and follow/sub/raid alerts
- Multi-user — owner, editor and moderator roles, plus per-user permission overrides that apply instantly
- Browser-based — nothing for your mods to install
You need Docker and OBS Studio.
git clone https://github.com/zebadrabbit/Anomalist.git
cd Anomalist
docker compose up -dOpen http://localhost:3001 and follow the first-run setup to create your owner account.
Then add the overlay to OBS: copy the tokenized URL from Settings → Overlay URL and paste it into a Browser Source, sized to your canvas.
Important
The overlay URL contains a token. Treat it like a password — do not show it on stream. If it leaks, rotate it from the same panel.
Put Anomalist behind a reverse proxy with TLS, and tell it so:
TRUST_PROXY=1Without that, the login rate limiter sees every request as coming from your proxy and counts all of your users as one client. See Security for the rest, including what the overlay token grants and how revoking access behaves.
Full docs live at zebadrabbit.github.io/Anomalist.
| Installation | Docker, environment variables, updating |
| First run | Creating your owner account |
| Canvas editor | Arranging your overlay |
| Chatbot | !sound, !counter, prefixes |
| Security | Proxies, rate limits, tokens |
| Architecture | How the pieces fit together |
| Widget SDK | Building your own widgets |
Requires Node 22 or newer.
npm install
npm run dev # server on 3001, dashboard and overlay on ViteBefore opening a pull request, run what CI runs:
npm run typecheck && npm run build && npm testProject layout, test conventions and Docker notes are in the developer setup guide.
See CONTRIBUTING.md. New widgets are especially welcome — the Widget SDK docs cover the interface.
MIT — Anomalist Contributors
