[ Case study ]
Registration opens once a year at a announced time; last year the volunteer-run infrastructure died in eleven minutes, parents refreshed error pages for hours, and the federation's inbox became a complaint desk for a week.
CLIENT a regional amateur sports federation — FOCUS Queue with fairness, not speed
Representative examplesEvery case study in this library is an illustrative composite of the kind of engagement we deliver — written to show our method and standards, not to name clients.
Youth leagues across a region — soccer, baseball, basketball — are organized by this federation, with each club run by parent volunteers and every registration flowing through one annual opening. The technical infrastructure is a PHP application on a single server, maintained for years by one retired volunteer. The board sets policy, the treasurer guards a community budget, and fairness — every family gets an equal shot at a roster spot regardless of connection or zip code — is written into the league's charter, not just its marketing.
Registration opens once a year at a announced time; last year the volunteer-run infrastructure died in eleven minutes, parents refreshed error pages for hours, and the federation's inbox became a complaint desk for a week.
We proposed an external layer for a relic that wouldn't be rewritten: a Cloudflare waiting room admitting registrations in order with a randomized first shuffle — the fastest connection stops winning, which was the fairness requirement stated in the league's charter. Everything that isn't the registration form — schedules, program pages, documents — caches at the edge, leaving the origin one job: take registrations. A status page and queue-position messaging would set expectations in plain language, converting the complaint desk into a posted wait time that families can plan around.
Just as important is what we ruled out, and why:
A Cloudflare waiting room admits registrations in order with a randomized first shuffle, so the fastest connection no longer wins — families queue equally.
Schedules, program pages, and documents cache at the edge, leaving the origin to do one job: take registrations.
A status page and queue-position messaging set expectations, converting the complaint desk into a posted wait time.
Delivered by the systems pod — engineer over 4 weeks, with working increments reviewed with the client every week.
Obstacle
The registration app's PHP sessions expired while families waited in the queue, so parents who reached the front lost their half-completed forms — a legacy quirk the queue had never had to consider.
Handled: We extended session lifetimes for queue-referred visitors, added form auto-save, and rebuilt the queue's status copy after a rehearsal with real parents exposed the wording problems.
Obstacle
Two weeks before opening, the single server's disk filled with logs from our own monitoring — an oversight that could have taken registration down before the queue ever formed.
Handled: Log rotation and alerting went in the same day, and the rehearsal two weeks out ran at full scale to catch anything else the small disk would reveal.
The headline: registration stayed open and orderly for the entire day, processing every queued family — 11-minute crash → full-day queued capacity, read from Registration completion log. A second check: registrations completed vs the prior year at +4,000.
Registration evening felt boring, which the board named as the goal. Families queued, watched a number move, and registered; the complaint inbox stayed quiet enough that volunteers answered real questions instead. The retired volunteer stopped describing the system as held together with tape. The board now plans seasons around capacity it can see, and fairness stopped being an aspiration that collapsed at seven o'clock once a year.
The result was read from Registration completion log against the pre-engagement baseline over the stated window, with a guardrail check on registrations completed vs the prior year. Where platform-reported numbers and business outcomes differ, this record says which layer it is quoting.
What we would do differently
We would run a full-scale rehearsal with parent volunteers two weeks early — the queue messaging needed one plain-language rewrite that only real users' questions revealed.
[ Related service ]
[ Related builds ]
Shared host per-site preview deploysAll five brands live on Vercel with preview-deploy reviews and tested rollbacks
Two years adrift maintained baselineSite current on a monthly cadence with verified restorable backups before recital season
[ Next step ]
Next case study