Skip to content
CUYCO

Champs FC

Champs FC runs Last Man Standing and a score Predictor against real football competitions. The second build threw out the assumption baked into the first — that the game was about the Premier League — and made competitions configuration instead of code.

Client
Cuyco (Internal)
Year
2026
Built with
SvelteKitSupabaseTypeScriptVercel
Champs FC — A free, prize-backed survivor football platform rebuilt so the game engine never knows which competition it is running.

The Brief

A side venture with a business partner: a survivor-style football game where players pick one team to win each round, and a wrong pick puts them out. The first version worked, but every part of it assumed the Premier League. Adding a second competition meant editing the engine, which is the kind of design decision that quietly caps a product.

The Challenge

Making competitions content rather than code. The engine, the database schema, and the UI all had to stop knowing which tournament they were running — while still handling the awkward specifics each competition brings. Knockout football is a good example: in a World Cup round of 32, the team that "wins" is the one that advances, including on extra time or penalties, and that is not something you want to re-derive from a scoreline.

What We Built

  • A competition-agnostic survivor engine — round lifecycle from scheduled to picking to locked to in-play to settled, with everything competition-specific pushed into a config row: provider, rules, theme, round strategy
  • Provider adapters — external football APIs normalised behind one interface, so adding a data source is an adapter rather than a rewrite
  • Two games on one platform — Last Man Standing for survivors, Predictor for score predictions, sharing the same rounds and fixtures
  • Scheduled settlement — cron endpoints poll fixtures and advance rounds automatically, secret-gated, with no separate API server to run
  • Postgres with row-level security via Supabase, so access rules live with the data rather than in application code
  • A simulation harness — seed scripts and bot players to run a whole competition against the engine before real players ever touch it

The Outcome

Live and free to play, running Premier League rounds after opening on the World Cup. Because competitions are configuration, the next one is a config row and an adapter rather than a development cycle.

Tell me what you are trying to solve.

Thirty minutes on a call is usually enough to work out whether this is a two-week job, a two-month job, or something you should not build at all. You get a written scope and a fixed price before anything starts.

Taking on new work from August 2026 · Replies within one business day