Index / Work
Scoreboard
Live football software

Scoreboard

Software for clubs and leagues that run their own football competitions and want to show them live. A pitch-side LED scoreboard updates the moment a goal is recorded, driven by an operator on a phone at the sideline, with the scorer's name on the board at the ground.

One person runs the match from a phone at the sideline — goals, cards, substitutions, the clock — and the board reacts to every tap. The score and clock live on the server, not on either screen, so the board and the console can each drop and reconnect mid-match without losing anything. Around it sits a full competition — clubs, teams, players, seasons, results — with each operator running only their own.

ForClubs and leagues running their own competitions
SurfacePitch-side LED board + operator console
Live LED scoreboard showing Marlow 2–1 Kestrel at 67:25 in the second half, with team crests and a count-up clock
Live board: a large 2–1 score, a 67:25 count-up clock, and two team crests on a dark screen
The board

The pitch-side LED board

The board fills a screen at the ground with one match — score, clock, team crests — and reacts the moment the operator records an event. A goal takes over the whole board with the scorer's name; cards and substitutions run along a ticker.

  • Distinct screens for kickoff, live play, half-time, full-time and reconnecting
  • Goal takeover with the scorer's name; a ticker for cards and substitutions
  • Type scales to the board, so proportions hold on any size of LED wall
Operator console on a phone: score and stoppage clock, GOAL, card and sub buttons per club, and a match log
The console

The sideline operator console

From a dark, sideline-friendly screen, the operator records goals, cards, substitutions and clock changes — one column per club. Every tap updates the board; the console itself holds no state, so it can drop and reconnect without losing the match.

  • One column per club: goal, yellow, red and substitution, with a player picker from the roster
  • Tap to pause; hold to advance the clock through each phase
  • Hold to end the match and confirm the result in one gesture
Half-time board: an official club partner sponsor, VOLTA ENERGY, with pagination dots showing several sponsors in rotation
Sponsors

Sponsors on the board at half-time

When the match breaks for half-time, the board turns over to sponsors, cycling through each one in turn. The sponsors, their order and how long each holds are set in the admin, and attach to a club, a league or a competition.

  • Sponsors take over the board at half-time and rotate on a timer
  • Set up in the admin — logo, order and dwell time, no code
  • Attached per club, league or competition
Club admin dashboard: season overview, fixtures needing attention, upcoming matches and the league table
Clubs and leagues

One club across many leagues

A club and a league are different things, and one club can play in several leagues at once. Each keeps its own data, separated automatically so one operator never sees another's matches — and the separation can't be forgotten on a query, because it isn't written by hand.

  • Every request sees only its own club's and league's data
  • A club competing in many leagues stays correct in each
  • The board device reads a single match without needing an account
How it's built
Backend & API
ASP.NET Core, PostgreSQL, C#
Realtime
SignalR, WebSockets
Frontend
Nuxt, Vue, Pinia, Tailwind
Quality
xUnit, Vitest