Self-hosted · Cloudflare-native · Open source

Run your own
private den.

HowlCast is a single-tenant invite-only live streaming platform. RTMPS via GetStream, chat with 7TV emotes, two Discord webhooks, no public mode. Fits the Cloudflare free tier.

Free Cloudflare tier · One broadcaster · No ads

LIVE · 12 watching

Late-night den

For the inner circle.

RTMPS Chat Invite

Built for

Three crowds. One den.

Whether you stream weekly, host community calls, or fork the whole stack — HowlCast fits.

For broadcasters

OBS pushes RTMPS to GetStream. Channel page picks up the stream automatically. Stats, chat, panels — all in one dashboard.

Going live

For invited viewers

Magic-link invite, click, watch + chat. No tier, no sub, no public-mode lottery. The den or nothing.

How invites work

For self-hosters

Two Cloudflare Workers, one D1, two R2 buckets, one KV. Free tier covers it. Alchemy provisions everything in one command.

Deploy guide

Chat that knows the den

Real chat, real emotes.

GetStream Chat with 7TV, BTTV, FFZ, and Twitch emotes pulled in via a 12-hour cron. Chat works for the broadcaster + invited viewers; signed-out folks see the messages but can't post.

Emote pipeline reference
broadcasterwelcome to the den
quietsleeperyo Pog Pog Pog
mossbuilderhow's the new layout feel
broadcasterhonestly? clean

PRIVATE STREAM INVITE

You're invited.

Click to accept · expires in 30 days

Accept invite

Invite-only by design

No public mode. Ever.

Single boolean per profile (isInvited). Magic-link emails. 30-day expiry. No tiers, no subscriber loops, no algorithm. Either you got the email or you didn't.

Invite mechanics

For self-hosters

One command. Everything provisioned.

Alchemy declares Cloudflare resources in TypeScript. bun run deploy creates the Workers, D1, R2 buckets, KV, and crons. Re-running converges to the spec — idempotent.

# clone, install, deploy
git clone https://github.com/MrDemonWolf/howlcast.git
cd howlcast
bun install
bun run deploy

# apply migrations to remote D1
bun run db:migrate:remote

No third-party analytics.

Per-session viewer + chat counts come straight from GetStream webhooks into your D1. No GA, no Cloudflare Web Analytics, no third-party telemetry. Charts render off your own data.

Self-hostedGDPR-friendlyNo telemetryOpen source

Push to your den.
Your friends only.

Free Cloudflare tier · GetStream paid above N viewers