1. Home
  2. Case Studies
  3. CrowdStreaming
Case study · Sports media

CrowdStreaming: a proof-of-concept live streaming app for rally fans

ScalaCode built a proof-of-concept mobile app for a UK client's crowd-driven rally streaming platform. Fans at an event record and upload video, moderators approve it, and remote viewers watch the approved streams live on Android and iOS.

ClientUK client
IndustrySports media
ProductProof-of-concept live streaming app
PlatformsAndroid and iOS (Flutter)
The client

A UK client bringing rally fans closer to the action

A client based in the UK asked ScalaCode for a proof of concept of a crowd-driven video platform for rally sports. Fans at an event would record and upload video, and fans elsewhere would watch it as live streams. The app had to let users switch between recording and watching, give moderators an approval console, and run on Android and iOS.

The challenge

What made crowd-sourced live video hard

1

Real-time processing

Shooting, uploading and live streaming had to flow into each other without breaks.

2

Video from many devices

Footage from different phones needed consistent quality and resolution.

3

Two kinds of user

Fans at the event needed a reason to record, and remote viewers needed a good way to watch.

4

Moderation

Moderators needed tools to review, approve or reject clips quickly.

5

Event-day traffic

The backend had to cope with heavy load during live events.

Streaming app start screen with an off-road car and a get started button, beside a motocross stream playing
The solution

A Flutter app with an AWS video pipeline

A single Flutter codebase runs the mobile app. Behind it sit a Node.js and Express backend on MongoDB, AWS video services, and a Laravel console for moderators.

Streaming app home with featured live action, search and rally events grouped by country, beside a recording with edit and trim options
  1. 01

    Two-mode mobile app

    One toggle flips the app between Shoot & Upload and View Live Streams, and first-time users get tooltips explaining each mode.

  2. 02

    Consistent recording

    Video settings are preset, so every clip is shot in landscape at high quality. Users can trim and edit their clips while offline.

  3. 03

    Video processing

    Each upload goes through AWS Lambda and Amazon Elastic Transcoder, which is why streams play back at the same quality.

  4. 04

    Live streaming

    Video is stored in Amazon S3, and Amazon MediaLive handles the live streams.

  5. 05

    Moderator console

    Moderators use a Laravel web console to approve or reject each video before it goes into a live stream.

  6. 06

    Real-time sync

    Socket.io keeps every user's data in step, and sign-in runs on Firebase Authentication.

The results

A working proof of concept in three months

The client got a working MVP for Android and iOS that records, moderates and streams rally footage. Ruairi, the client, says the project was completed within three months, on time and on budget, and gave the product a solid foundation for its next steps.

iOS + Android

from one Flutter codebase

Live

moderated video streams

Tech stack

What CrowdStreaming runs on

Mobile

Flutter

Backend

Node.js with Express, Laravel APIs

Data

MongoDB

Video

AWS Lambda, Amazon Elastic Transcoder, Amazon MediaLive, Amazon S3

Auth and real time

Firebase Authentication, Socket.io

Book a free strategy call

Plan a build like CrowdStreaming for your business

  • 30 minutes with the ScalaCode team
  • What is realistic, what it costs and how long it takes
  • You decide afterwards whether to build with us

Book your strategy call

Takes 20 seconds