SAHB Scoreboard 🤾

SAHB Scoreboard 🤾

Tool • Oct 2020 - Sep 2022

A live scoreboard interface built for easy integration into OBS for live streaming. Control it effortlessly in real-time through a mobile-friendly web interface.

Context

Since 2018, I've volunteered with Sélestat Alsace Handball (SAHB), a notable French handball club shifting between the first and second national divisions. In response to the 2020 curfew, my friends and I volunteered to livestream matches on the club's social media. Starting with minimal resources, we improvised a solution using my laptop and a budget camcorder.

Read the whole story on the experiences page

The project

I wanted a solution to broadcast the match statistics live, while following the official league design. There was no way to connect to the sport hall system, or to fetch data from the league website because of the delay.

Recreating the French National Handball League scoreboard design with Flutter.
Recreating the French National Handball League scoreboard design with Flutter.

I haven't found any satisfying solution, so I created my custom live scoreboard app, where someone is updating the scoreboard live using a web interface on his smartphone.

Someone in the room was reproducing what's happened in the match on the scoreboard.

I went on with Flutter (Web) and Firebase since it was technologies that I was knowing well at the time and I had a short time span to make something functional.

I wanted the UX to be very straightforward as I didn't have time to explain to the person in charge of the score how it works while I had to prepare the whole broadcast.

The result

For the first time, my software was really used in a "production" context. Despite the quality of the code not being up to the mark at the time, the solution was faultlessly reliable and served us well throughout the broadcasting of the matches.

Having a web interface available on mobile was great because I could just tell anyone that had to update the score during the match to open his phone browser and use the provided login and that was it.

Possible improvements

These are not things that I plan to implement anymore since there is no more live broadcasts.

Having a server

Using directly Firestore as the server, the client had to send an update to the timer every second. That meant 2 major problems :

- If the user left the browser for a few seconds, the time stops updating

- There were conflicts if 2 people were trying to control the scoreboard at the same time.

Theses problems can be easily fixed by using some sort of server.

FlutterFirebase FirestoreFirebase Auth

Related experiences

Sélestat Alsace Handball
Sélestat Alsace Handball

Production manager for live match broadcasts

2020 - 2022