Skip to main content
Each example includes the editor panel and OBS layer. Copy them as a starting point and adapt to your needs.

Text Overlay

A basic extension that lets the streamer type text and toggle its visibility on stream. What it does: Toggle + text field in settings, heading on the OBS overlay.

Editor — src/admin.tsx

Layer — src/layer.tsx


Score Counter

Let the streamer set and reset a score. The current score displays on the OBS overlay. What it does: Number input + reset button in settings, score display on stream.

Editor — src/admin.tsx

Layer — src/layer.tsx


Stream Info Panel

A richer example with multiple field types — text inputs, a dropdown, a toggle, and an image. What it does: Full settings panel with title, description, theme picker, and optional avatar. The layer renders a styled info card.

Editor — src/admin.tsx

Layer — src/layer.tsx


Interactive Page

An extension that uses the interactive target for participant-facing controls during a stream session. What it does: Editor sets the default message. Interactive page has buttons to trigger effects. Layer displays the current state. Use this pattern for active participants and operators, not as a high-scale public page for thousands of viewers.

Editor — src/admin.tsx

Interactive — src/interactive.tsx

Layer — src/layer.tsx


Leaderboard (Server Functions)

A full-stack example using server functions. Players are stored in an edge database — the editor manages players, the layer shows the leaderboard on stream. What it does: Schema defines a players table. Server functions handle CRUD. Editor panel adds/removes players. Layer renders the top scores.

Schema — server/schema.ts

Functions — server/functions.ts

Editor — src/admin.tsx

Layer — src/layer.tsx