Prerequisites
Accounts and CLI tools you need before deploying HowlCast.
You need accounts at four services and a working local toolchain. Most of them have free tiers that cover this.
Accounts
Cloudflare
Sign up at dash.cloudflare.com. Verify your email. The free Workers plan covers everything HowlCast does — D1, R2, KV, two Workers, and the cron triggers all sit under free quotas for a single broadcaster.
GetStream
Sign up at getstream.io. You need both Chat and Video products on the same app. Free tier covers small audiences; pricing kicks in at scale. Note the API Key and API Secret — you'll paste these into Wrangler secrets.
Resend (optional but recommended)
Sign up at resend.com and verify your sending domain (SPF / DKIM / DMARC records). Without Resend the magic-link emails fall through to console output in dev and silently fail in prod.
Twitch developer app
Go to dev.twitch.tv/console/apps/create. Create a confidential app named HowlCast. Use any placeholder OAuth redirect URL — HowlCast uses client_credentials grant, so the redirect URL is never hit. Copy the Client ID and generate a Client Secret.
Twitch is required for two things: emote pipeline (7TV / BTTV / FFZ / Twitch lookups by Twitch user ID) and the first-run setup wizard's channel lookup.
CLI tools
Bun 1.3+
curl -fsSL https://bun.sh/install | bashVerify with bun --version. The repo's packageManager field pins this.
Wrangler (via Bun)
bunx wrangler loginAuthorizes Wrangler against your Cloudflare account. Re-running this is safe.
Git + GitHub
A GitHub account, the gh CLI, and SSH keys configured if you plan to deploy via GitHub Actions.
Optional but useful
- Discord with two webhooks (public + private channels) for the go-live / stream-end fanout
- OBS Studio 30+ to push RTMPS to GetStream
- 1Password (or another secrets manager) to keep API tokens organized — HowlCast uses ~15 distinct secrets
Once you have the accounts and CLI in place, head to Quickstart.