Year
2026
My role
Solo project, from idea to data pipeline and front end
Tools
JavaScript, Node.js, Python, Scrapy, HTML and CSS
Data
openfootball results, official broadcaster highlights and FIFA squad lists
Code
View the code on GitHub

I built BLACKOUT on my own, from the data pipeline and scraper to the interface. It’s where I took a project all the way to a finished product rather than stopping at the analysis.

The problem

Following a World Cup across time zones means catching up on delay, and almost every football site leads with the score.

What I built

BLACKOUT keeps scores and the bracket hidden until you choose to reveal them, one day at a time. Official highlights from broadcasters including TSN, RDS, Fox, ITV and beIN are organised by match and shown for your region. You can fill in your own bracket and save it as an image, and browse squads and player leaderboards. There is nothing to install and no account.

How it works

  • Node.js build scripts pull fixtures and results from the public-domain openfootball dataset and find each match’s official highlights.
  • A Scrapy spider gathers player biographies, club crests and photos.
  • The knockout bracket is laid out by walking it as a tree, so each round lines up with the matches that feed it.
  • The site is a single static page with no framework, so it loads quickly and costs nothing to host.

What I’d do next

Turn it into a highlights hub covering several sports, leagues and countries.