Skip to content
All work

Mobile · 2024

Mobile Developer

Fix Live Streaming

Cross-platform social live-streaming app — broadcast with Agora RTC, invite up to three co-hosts, follow creators, and watch live streams from your feed with Firebase-backed auth and token generation.

Built with

React NativeTypeScriptAgora RTCFirebaseFirestoreCloud Functions
Broadcasting & co-hosts
Viewer experience

What Fix Live Streaming does

  • Agora RTC live broadcasting with Firebase Cloud Function token generation
  • Social graph — follow creators, user search, and a home feed of live streams
  • Co-host invites (up to 3) with multi-participant video grid layouts
  • Firebase Auth via Google, Apple, Facebook, and email/password
  • Firestore-backed stream lifecycle, viewer tracking, and co-host notifications

Fix Live Streaming: background

Fix Live Streaming is a React Native (TypeScript) social broadcasting app for iOS and Android. Users authenticate via Firebase (Google, Apple, Facebook, and email/password), build a follower graph through user search and profile screens, and discover live streams on a home feed filtered to creators they follow.

Broadcasters start streams through Agora RTC live broadcasting — camera and mic permissions, token generation via Firebase Cloud Functions, and Firestore documents tracking channel state, viewer counts, and stream lifecycle (active/ended). The broadcaster UI includes a live viewer list and can invite up to three co-hosts; invited viewers are promoted to publisher role and appear in a responsive multi-video grid (1–4+ participants) on the viewer side.

Viewers join streams as Agora audience members, with co-host promotion handled through Firestore notifications and role upgrades. An Agora RTM service layer supports real-time messaging infrastructure, and an iOS Action Button native module enables quick stream launch from supported hardware.

The backend uses Firebase Cloud Functions with the Agora token builder for secure, role-aware tokens (publisher vs audience), enforcing that only stream creators and approved co-hosts can publish. User profiles, followers/following counts, and stream metadata are stored in Firestore collections (`users`, `streams`, `userRelations`, `notifications`).

More work by Dawar Mustaqeem

Want something like this built? Get in touch — Dawar Mustaqeem, Birmingham UK.