All projects

Case study

Festivus Games

A sporting competition that runs not at one venue but in hundreds of clubs across the country at once. Thousands of athletes submit results on the same day and see themselves in the standings immediately.

Client
Festivus Games, USA
Years
2007 — 2014
Scope
Development (backend), performance
Stack
PHP, WordPress

The problem

On an ordinary site the load is a curve: it rises in the morning, falls at night, and you can prepare for growth in advance. Here the load is a sheer wall. For three hundred and sixty-four days the system is nearly empty, and on competition day the whole country steps onto the platform at once.

Hundreds of clubs, thousands of athletes, several time zones — all submitting results and refreshing the table simultaneously. And the standings have to recalculate as you watch: an athlete who has just finished a lift wants to see their placing now, not tomorrow.

All of it on PHP and WordPress, in an era when you could not add capacity with one click: peak day had to be prepared for, not reacted to.

What we did

We ran the competition backend for seven seasons: taking results from clubs, recalculating the tables and serving the standings on the one day when all of it counts.

Result

Thousands of athletes in one day Hundreds of clubs competing simultaneously, with every result converging into a single live leaderboard. The competition outlived our involvement: it still runs today, now as TRU Challenge.

Load on a schedule

Systems like this rarely fail gradually: either they hold on the day or they do not, and there is no second chance this season. Hence our approach to operations: calculate the peak in advance and test the system before it arrives, rather than working it out afterwards.