-
Notifications
You must be signed in to change notification settings - Fork 0
Home
ITG Media App — The all-in-one live broadcasting and guest management platform, powered by LiveKit, Django, and Next.js.
Live Deployment: https://donoconnor.com
GitHub: github.com/docisit/itg-media-engine
ITG Media App is a complete live broadcasting platform. Host a show, bring in remote guests via their browser (no installs), manage a guest queue, push your stream to YouTube / Facebook / TikTok simultaneously — all from one central Dashboard. Viewers can watch live on the Broadcast Page. Built for podcasters, sports shows, radio hosts, and content creators.
Left to right: Director Control panel · OBS Studio with browser source overlay · Guest mobile view · AI Avatar pre-show
┌──────────────┐ ┌──────────────────────────────────────────────┐
│ User │ │ Your Server │
│ │ │ │
│ Browser ────┼────▶│ Nginx (443) │
│ (Viewer) │ │ │ │
│ │ │ ├──▶ Next.js (3000) — Frontend UI │
│ OBS Studio──┼──┐ │ ├──▶ Django (8000) — REST API │
│ (Host) │ │ │ ├──▶ Daphne (8001) — WebSockets │
│ │ │ │ │ │
│ Guest ──────┼──┤ │ ┌─┴──────────────────────────────────┐ │
│ Browser │ │ │ │ LiveKit Server · Egress · Ingress │ │
│ (WHIP) │ └─▶│ │ (Docker, host networking) │ │
│ │ │ └──────────────────────────────────────┘ │
│ │ │ │
│ │ │ PostgreSQL (5432) · Redis (6379) │
└──────────────┘ └───────────────────────────────────────────────┘
│
▼
┌────────────────────────────────┐
│ YouTube · Facebook · TikTok │
└────────────────────────────────┘
| Category | Features |
|---|---|
| 🎙️ Broadcasting | Host via OBS Studio, guests join via browser (PWA), WebRTC with LiveKit, up to 1080p |
| 📡 Simulcast | Push to YouTube, Facebook, and TikTok simultaneously with per-platform RTMP keys |
| 🎛️ Director Control | Guest queue management — mute/unmute, kick, rearrange, picture-in-picture composition |
| 👤 User Roles |
host, guest, athlete, staff, admin — with profile pages, bio, socials |
| 🤖 AI Assistant | Avatar agent preps guests before air, site-wide FAQ chatbot with conversation memory |
| 🏅 Sports Module | Athlete stats, drills, leaderboards, scouting (optional, toggle via feature flag) |
| 📅 Shows & Blog | Schedule shows, assign guests, publish episodes. Built-in blog with categories and comments |
| 🔒 Security | JWT auth, email verification, COPPA age gate, Turnstile CAPTCHA, admin IP whitelist |
Our live instance is running at https://donoconnor.com. To set up your own instance:
git clone https://github.com/docisit/itg-media-engine.git
cd itg-media-engine
docker compose -f docker-compose.dev.yml up --buildOpen http://localhost:3000 — you're live!
For full deployment instructions, see the Installation Guide.
| Page | Description |
|---|---|
| 📦 Installation | Prerequisites, Docker dev stack, bare-metal setup |
| ⚙️ Configuration | Environment variables, .env setup, feature flags |
| 🌐 LiveKit Setup | WebRTC infrastructure — Cloud vs. self-hosted |
| 🎬 Broadcasting Guide | Host setup, guest joining, studio page, broadcast page |
| 🎮 Director Control | Guest queue, mute/unmute, multi-platform simulcast |
| 👤 User Roles & Profiles | Roles, registration, COPPA age gate |
| 🏅 Sports Module | Athlete stats, drills, leaderboards |
| 🤖 AI Assistant | Avatar agent, FAQ chatbot, Ollama setup |
| 🔧 Admin Panel | Django admin, model management, IP whitelist |
| 🚀 Deployment | Production Nginx + SSL, Docker stack, PM2 ecosystem |
| ❓ Troubleshooting & FAQ | Common issues, WebRTC debugging, FAQs |
ITG Media App is MIT licensed — free to use, modify, and run for personal or commercial projects.
- Keep the Don O'Connor logo & copyright notice on the site
- Give credit to the incredible open-source projects that make this possible (see Acknowledgments)
We welcome contributions! See CONTRIBUTING.md for guidelines.
© Don O'Connor — keep the logo, share the code.