Self-hosted creator streaming platform — WebRTC, subscription tiers, recording, and viewer moderation
A fully self-hosted live streaming platform with sub-second WebRTC broadcasts, three-tier Stripe subscriptions (Free / Creator / Pro), stream scheduling, public and members-only visibility controls, live chat with host moderation, viewer kick and ban, server-side MP4 recording, channel and member management, and plan-enforced capacity limits. No revenue cut, no platform dependency.

The problem
Existing streaming platforms impose high revenue commissions, opaque moderation policies, and Terms of Service risk. The goal was a fully owned stack with subscription monetisation, content access controls, and the operational flexibility to add or change features without a platform relationship.
Approach
- Three-tier subscription model (Free viewer-only, Creator, Pro) with Stripe Checkout for upgrades and a self-serve Stripe Customer Portal for plan changes and cancellations; subscription lifecycle synced via Stripe webhooks
- FastAPI backend with Supabase for authentication and PostgreSQL — JWT-secured routes, automatic profile creation on first sign-in, and plan-based feature gating enforced server-side
- LiveKit WebRTC media server — hosts receive publisher tokens with full room control; viewers receive scoped viewer tokens; room access denied for banned users at the token-issuance level
- Stream scheduling — creators configure live or future-dated broadcasts; streams cycle through Scheduled → Live → Ended states with public and upcoming stream listings
- Stream visibility controls — public, private, and members-only modes; private and members-only streams enforce authentication before a viewer token is issued
- Channel and group management — creators maintain named channels with Viewer, Moderator, and Producer member roles; invitations are email-based with automatic activation when the invited user registers
- Live chat with the last 100 messages persisted per stream, guest display-name support, host moderation (delete any message), and real-time delivery via LiveKit data channels
- Viewer moderation — hosts kick or permanently ban viewers with a tracked reason; bans are enforced at the token-issuance level so banned users cannot rejoin
- Stream recording (Pro plan) — server-side MP4 capture via LiveKit Egress stored to a persistent volume, with recording status surfaced on the dashboard and a direct download link
- Plan-based feature gates — viewer capacity (25 to 100+), chat, hosting, and recording rights are enforced per subscription tier; a plan comparison page shows feature availability with upgrade CTAs
Outcome
- Full creator ownership — zero platform revenue cut, no Terms of Service exposure, and complete control over features and moderation policy
- Sub-second stream latency via LiveKit WebRTC; viewer capacity scales to the plan limit with real-time enforcement
- End-to-end monetisation in a self-hosted stack — subscribe, schedule, go live, gate content by membership, record, and manage billing without touching a third-party platform
Got a project that's been waiting too long?
We respond to every inquiry within one business day. No funnels — just a real conversation about whether we're a fit.