Back to projects

Spyk

Run, referee and follow volleyball tournaments in real time

meta
Role
Design, architecture, delivery
Period
2026
Status
COMING SOON
Tech
Real-time web application, online payments, AI-agent driven development
  • Real time
  • Payments
  • Mobile
  • AI

The need

An amateur volleyball tournament often means paper score sheets, a spreadsheet, registrations by text message and an overwhelmed organiser on the day. Players don’t know when or on which court they play; spectators don’t get the scores. Spyk starts from these real frictions, not from a feature idea.

Clarifying and specifying

  • Actors first. Organiser, participant, occasional referee, spectator, administrator: who does what, with which rights, and without which constraint — a referee, for instance, doesn’t need an account.
  • Then journeys. Creating and re-running a tournament year after year, opening registrations, taking payment online or on site, starting, following live.
  • Rules written down, not assumed. Tournament lifecycle, withdrawals, court assignment, business model: every structural decision is documented before it is built.

Specification excerpt

user story · start a tournament

As an organiser, I want to start my tournament myself, so that I stay in control on the day, whatever the planned time.

  • Starting is an explicit action: a passed start date triggers nothing automatically.
  • It requires closed registrations, a generated and up-to-date schedule, and at least one court.
  • Whatever is missing is listed on the tournament overview, before even trying.
  • Once a match has started, the schedule is locked.

A trade-off. A team withdraws after the schedule is generated: should it be recomputed automatically? No. The organiser chooses between a forfeit (the rest of the schedule stays put) and regenerating the affected pools, with the consequences of each option shown before confirming. Automation would have been simpler to build, but it would have broken schedules already shared with players.

Architecture choices

  • Scores as a sequence of events. Every point is a recorded fact: the score can be rebuilt, corrected and pushed live to every phone.
  • A living schedule. Courts are assigned from the actual progress of matches, not from a theoretical timetable that never holds.
  • The organiser stays in charge. Starting the tournament is a human decision, never an automatic trigger at a fixed time.
  • Built for peaks. A final means dozens of screens on the same match at once: async processing, caching and an automatic fallback if the live feed drops.

Delivering with AI

Most of the code is written by coding agents. What makes it reliable is not the tool but the frame: product and technical documentation as the source of truth, traced decisions, and every feature shipped with its tests and checked.

Results

TODO — Launch date, public link, first tournaments run.