Mobile PWADemo launching soon

MyPickupSoccerManager

Who showed up first? Are these teams fair? Settled.

Live demo launching soon at kickoff.blaketrix.com

9:41
MyPickupSoccerManager on a phone

The problem

Every week at pickup soccer the same arguments happen. Who arrived first? Why is it always the same captains? Why are the teams so lopsided? It eats the first twenty minutes of every game.

What we built

An app that installs from the browser, no app store needed. Players check in at the pitch, the app splits fair teams, and the season table keeps itself.

Features

What it does

  1. 01

    Check-in you can’t fake

    Check in by scanning a QR code at the pitch or by being inside a geofence. Early and late arrivals get their own badges.

  2. 02

    Fair teams in one tap

    Unbiased randomisation, or an ELO-balanced snake draft when you want close games.

  3. 03

    Random captains

    Captains are drawn from the whole team, so it isn’t the same people every week.

  4. 04

    Team tools

    Move players, set positions, pick from 9 formations, then share the teams to WhatsApp or as an image.

  5. 05

    Seasons & standings

    Results go in and the full table (P, W, D, L, GF, GA, GD, Pts) calculates itself.

  6. 06

    Live match mode

    Match clock, halves and live score, with a banner on every page.

  7. 07

    Player profiles

    ELO ratings, career stats, MVP votes and 13 automatic achievement badges.

  8. 08

    RSVP, weather & spectators

    RSVP for upcoming matchdays, see the weather, and share a read-only page with fans.

Under the hood

The engineering decisions that matter

  • Progressive Web App
  • Node.js
  • SQLite
  • MySQL
  • Service Worker
9
pitch formations
13
achievement badges
K=32
ELO player ratings
  • Randomisation uses Fisher–Yates over crypto.getRandomValues() with rejection sampling, so teams are genuinely unbiased.
  • Team saves run in transactions, and matches can only be finalised once, which stops duplicate ELO changes.
  • SQLite by default with no setup, MySQL when it outgrows that, and a migration script between the two.
  • Installable PWA with a service worker, plus frontend, visual and link tests.
Next project Canada Survival Seven days in a real Canadian city. Try to make it to Sunday.

Want something like this for your business?

Start a project All work