all work
shipped[2023]10

ProStream

Low-latency live streaming. Twitch-inspired, Agora-backed, tip-economy enabled.

Problem

Live streaming platforms typically rely on managed vendor APIs and centralized storage, driving up cost, vendor lock-in, and viewer latency. Replicating core Twitch-like functionality (low-latency streaming, identity verification, tipping, creator monetization) on stock cloud infra is doable but full of moving parts.

Built

Twitch-inspired live streaming platform built by a 3-person distributed team (India + Bangladesh). Django + DRF backend with custom auth (OTP recovery), streamer verification flow, in-app wallet + tipping via SSLCommerz, withdraw flow with 22% platform fee. Agora SD-RTN for low-latency one-to-many broadcasts, Django Channels + Redis Pub/Sub for high-concurrency chat and viewer-count syncing, Dynamic Token Server for HMAC-signed access tokens to prevent stream-sniping. Frontend on Vercel (React); backend on AWS EC2 behind Route53.

Agora-backed

low-latency streaming

tip

economy with 22% platform fee

OTP

auth + document verification

team

of 3, 2 countries

The build

[Idea]

ProStream started as a university-team experiment. Two engineers in Bangladesh and me in India wanted to know if we could ship a real streaming product without paying for a vendor. We split work over Slack, did daily standups at hours that made nobody happy, and tracked tasks in Jira. The Stripe-of-streaming setup (Django and DRF on EC2, React on Vercel, Postgres, Route53) was familiar territory by this point. I'd been through it with Movio.

[Framing]

The new pieces were Agora (low-latency one-to-many via their SD-RTN) and the wallet and tipping flow. Both turned out to be deeper than they look. Agora gave us the streaming pipeline, but we still had to gate who could tune in. The Dynamic Token Server in Django mints HMAC-signed time-bound tokens so only viewers in the channel can join. That piece was the difference between an open stream and a stream-snipe-able one.

[Build]

The tipping flow (wallet to tip to withdrawal to 22% platform fee to SSLCommerz payout) was the trickier build. We had to teach ourselves Pakistani-payments rails, build a ledger to keep balances honest under concurrent tips, and write the moderator console that lets us approve document verifications, ban abusive streamers, and refund disputed tips.

[Deploy]

Testing happened against free-tier sandboxes (Agora and SSLCommerz both have generous developer tiers), but we still blew through quota twice and learned to gate the dev environment behind a flag. Deployment to a single AWS EC2 instance worked, with Postgres on the same box, but we knew we wanted multi-AZ before any real launch.

[What's next]

ProStream sits as a sibling project to CuteTube (the monolith version) and Movio (the microservices VOD version). Together the three cover three different shapes a video product can take. The codebase is dormant now, but the architecture is one I'd reuse in a heartbeat. Django as the orchestrator, React as the headless frontend, and a third-party video vendor only for the actual media path.

Links