Skip to content

football

5 items

Occupation Road

Occupation Road is a second site, built from this one’s codebase and designed so you wouldn’t know it. It contains long essays on the business of modern football, filtered through the lens of Watford FC.

It came out of a research vault. Since May I’ve kept one in Obsidian called Watford Intelligence: reading in, synthesis out, three hundred-odd sources so far. Once there was enough in it, a publication more or less suggested itself. I’d wanted to write about the club for a while anyway, having made Oh My Word, a podcast about Watford in the 1990s, a few years back. But this here site is a timeline of what I’m reading and watching, and it was never the right home for three thousand words on parachute payments.

Occupation Road took the job instead: long essays on the club’s finances, ownership and structure, argued from the statutory accounts rather than from the mood after Saturday.

Technically it’s a second instance of Showrunner’s core (Next.js, Supabase, Vercel), copied selectively rather than forked. The auth stack, markdown pipeline, admin CMS and search came across. The external feeds, and everything that makes this site a timeline, did not.

The harder job was making sure it didn’t look like this place. Same skeleton, different person wearing it, which meant giving up Showrunner’s typefaces along with its palette. The masthead is a UK street nameplate: bordered plate, letterspaced capitals, WATFORD underneath in signal red.

Some details:

  • Charts are set as statutory accounts in plain HTML and CSS, no chart library, and sit in a margin column beside the prose
  • Essays travel one way out of the vault via a publish skill that resolves the wiki-links and writes the slug back into the source file
  • The favicon is the nameplate with the type taken out, on the grounds that a keyline box holding two lines of wide-tracked capitals is a grey smudge at 16px

Comments are off permanently, there are no ads, and nothing tracks you beyond server logs. It went live today, on the opening Friday of the 2026–27 league season, with one essay and two notes.

By way of explanation, Occupation Road itself is the service road behind the Sir Elton John Stand, officially the Yellow Brick Road since 2023 though the old name has stuck. Mike Vince, whose commentary catchphrase gave the podcast its title, worked the gantry on that side of the ground all decade.

Fabian's Arena

Fabian’s Quest handled the classroom side—times tables, spelling, the nightly homework loop. This one exists because the kid is obsessed with football in a way that borders on clinical.

He’s had us both up before seven every day this past week, out at the park for over an hour before breakfast. This isn’t unusual. Other children on his team play their Saturday match and that’s football done for the week. Fabian would play for eight hours a day if you let him, and he’d be annoyed when you stopped. The app was his idea—he wanted something that would make our training sessions better, not just longer.

The problem was familiar: we’d show up with a ball, a bag of cones and a vague intention to “work on shooting,” which meant twenty minutes of him firing shots at me followed by forty minutes of whatever felt easy. Enjoyable, but aimless. He knew it was aimless. He told me.

Fabian’s Arena gives those sessions structure while keeping everything fun—which is the whole point when you’re eight. It generates 60-minute blocks (warm-up, two skill rounds, a 1v1 match, cool-down) with drills drawn from a library of 30 across six categories: dribbling, passing, shooting, first touch, speed and agility, defending. Each drill comes with coaching tips, a suggested duration, and a linked YouTube tutorial.[1]

There’s also a spin wheel for when you just want one quick drill picked at random, which is most Tuesday evenings.

Composite of screenshots of Fabian's Arena

The visual language is dark pitch-green with amber and gold accents, glassmorphic cards, and the same Fredoka headings used in Fabian’s Quest. It runs as a PWA on my phone, works offline at the park. Progress data persists locally via Zustand and syncs to Supabase when there’s a connection, which means nothing is lost between the front door and the goalposts.

Some details worth noting:

  • The session generator uses weighted random selection, boosting underrepresented skill categories and biasing toward a chosen focus skill—so sessions feel varied without being chaotic
  • A badge system with 17 achievements across milestones, streaks, and per-category mastery, surfaced through a full-screen celebration overlay that an eight-year-old finds deeply satisfying
  • The spin wheel is an SVG with Framer Motion rotation—ten random drills on coloured segments, four to six full spins before landing
  • Drills show a suggested duration and a manual “Done” button. I’d toyed with an in-app timer, but phone screens lock during actual training, which kills any running countdown
  • The 1v1 match block has no drills—it’s twenty minutes of free-play football, Dad vs Fabian, rendered as its own card in the session flow

Built with Next.js, TypeScript, Tailwind and Framer Motion. A companion to Fabian’s Quest rather than a sequel.


  1. I watched hours of kids’ football tutorial videos. The quality YouTube search returns is remarkably variable—even with precise coach-speak in the search terms, I’d get anything from a Premier League academy production to a man kicking a beachball around a garden with a toddler. ↩︎