Back to projects

PLAYGRND Draft

Live · football game

I built PLAYGRND Draft as a fast football game for short mobile sessions: spin an iconic national-team tournament squad, draft an all-time XI by position, simulate the tournament, and share the result.

PLAYGRND Draft homepage introducing the World XI Draft football game
The live game starts with a squad spin and a position-by-position draft.

My part.

Founder, product designer and engineer. I built the drafting flow, seeded tournament simulation, sharing and production delivery.

Role
Founder, product designer, and engineer
Period
2026 - Present
Stage
Live experiment, active iteration

Next.js · TypeScript · Postgres · Hetzner

The problem.

Football draft games are easy to overbuild. The core experience needs enough recognizable players and simulation depth to feel meaningful, but every login, network request, asset dependency, or long setup step makes a casual session less likely to finish. The product had to feel immediate while keeping sharing and aggregate learning available as optional layers.

Spin, draft, simulate and share.

  1. Generate a tournament squad capsule and present a position-specific choice from recognizable historical players.
  2. Let the player complete a balanced XI without login, remote assets, or server-dependent game state.
  3. Run a deterministic group and knockout simulation from the draft state and seed.
  4. Offer a shareable result, then collect only anonymous aggregate signals without blocking gameplay.

Under the hood.

Game client
Next.js, React, and TypeScript with drafting and simulation running locally in the browser
Football data
Curated tournament squads and independent ratings shipped with the application bundle
Simulation
Seeded, reproducible tournament runs covering group and knockout stages
Sharing
Compact saved runs behind short IDs, with local share text as the failure fallback
Aggregate stats
Optional Postgres-backed counters published as a static snapshot outside the gameplay path
Delivery
Static release directories on Hetzner behind Caddy, with the optional API managed separately

Engineering choices.

No backend in the game loop

Starting, drafting, simulating, and seeing a result must keep working if the share and stats API is unavailable.

Recognizable squads over exhaustive data

The first version favors iconic tournament capsules so most spins create an understandable football decision rather than a history quiz.

Deterministic by design

A seed and the selected XI are enough to reproduce a run, which keeps the simulation testable and makes compact sharing possible.

Rights-aware presentation

The fan-made game avoids official logos, player photos, trophy imagery, and claims of affiliation while keeping names and tournament facts descriptive.

What I’ve worked on.

  • Mobile-first positional draft flow built around curated historical tournament squads
  • Local deterministic tournament simulation with group and knockout progression
  • Shareable saved runs with graceful fallback when the optional API is unavailable
  • Anonymous aggregate statistics generated into a fast static public snapshot
  • Independent PLAYGRND branding, explicit rights boundaries, and Hetzner release deployment

What comes next.

The next useful work is learning from completed runs: tune squad variety and simulation balance, improve the moments people want to share, and add backend features only when they strengthen that loop without slowing it down.