Client: Totino-Grace High School

Date: January 2025

Date: January 2025

Date: January 2025

Client: Totino-Grace High School

Technology Used: Common Lisp,
Rust, Javascript

Technology Used: Common Lisp,
Rust, Javascript

© 2025 TJ Birnbaum Multimedia

Fueled by coffee and a passion for "wow"

© 2025 TJ Birnbaum Multimedia

Fueled by coffee and a passion for "wow"

High school sports can be tricky to track. Scores are distributed across various crowd-sourced websites and news sources, very rarely easily accessible from one to the other.

Wouldn't it be nice for a high school sports fan, parent, or relative to be able to head to their school's website and just…see the score of the recent game? And maybe even see who the next opponent is?

That's what I set out to do with these custom-coded scoreboard widgets. They're truly custom, from front to back. I spun up a small DigitalOcean server, where I host two small programs that I wrote: the first being a score parser, written in Common Lisp, that flexibly pulls in disparate score sources and translates the numerous formats into a single source of truth (in the form of a standardized JSON file).

Then, I wrote a small server in Rust that waits for a request on several different URLs and serves up the proper JSON response with almost no latency.

On the frontend, a custom JavaScript element requests the JSON and builds dynamic scoreboard elements to showcase the team's record, home and away stats, plus the scores for recent games (and opponents for upcoming ones). There's no manual data entry, nothing to track during the games, no need to have a specialized stats editor checking in at 10pm on a Wednesday. It's all automated.

It's a feature that parents love. And, because it's custom built, it can be extended and modified for the future to bring in new sports or new stats. With it being for a high school, the custom coding acts as an extra aid: tools like this, when purchased from a SaaS business, can cost an exorbitant amount of money. This custom, in-house software is free, extensible, and will last as long as the school does.

High school sports can be tricky to track. Scores are distributed across various crowd-sourced websites and news sources, very rarely easily accessible from one to the other.

Wouldn't it be nice for a high school sports fan, parent, or relative to be able to head to their school's website and just…see the score of the recent game? And maybe even see who the next opponent is?

That's what I set out to do with these custom-coded scoreboard widgets. They're truly custom, from front to back. I spun up a small DigitalOcean server, where I host two small programs that I wrote: the first being a score parser, written in Common Lisp, that flexibly pulls in disparate score sources and translates the numerous formats into a single source of truth (in the form of a standardized JSON file).

Then, I wrote a small server in Rust that waits for a request on several different URLs and serves up the proper JSON response with almost no latency.

On the frontend, a custom JavaScript element requests the JSON and builds dynamic scoreboard elements to showcase the team's record, home and away stats, plus the scores for recent games (and opponents for upcoming ones). There's no manual data entry, nothing to track during the games, no need to have a specialized stats editor checking in at 10pm on a Wednesday. It's all automated.

It's a feature that parents love. And, because it's custom built, it can be extended and modified for the future to bring in new sports or new stats. With it being for a high school, the custom coding acts as an extra aid: tools like this, when purchased from a SaaS business, can cost an exorbitant amount of money. This custom, in-house software is free, extensible, and will last as long as the school does.

Custom High School
Scoreboard Widgets

Custom High School
Scoreboard Widgets

Custom High School
Scoreboard Widgets

© 2025 TJ Birnbaum Multimedia

Fueled by coffee and a passion for "wow"

© 2025 TJ Birnbaum Multimedia

Fueled by coffee and a passion for "wow"