Ninety
A football feature where scroll is the match clock: eight moments, one career, and a penalty you take yourself.
- Client
- Self-initiated
- Role
- Design + build · 2024
- Live at
- thebeautifulgame.vercel.app
The problem
Built to find how much interaction a piece of writing can carry before it stops being writing and becomes a demo — and to see whether live data can sit inside an editorial piece without turning it into a dashboard.
What’s on it
- Eight matches from 1950 to 2022, scrolled sideways inside the page
- A career drawn as a line, season by season, filterable by club and country
- An interactive penalty and a section where the reader settles the argument
- Crests and player records loaded live from TheSportsDB
- Minute markers from kick-off through half-time to full time
The calls
01
Made scroll the match clock.
A ninety-minute spine gives a long read a structure the reader already knows how to use. Position on the page tells you how much is left without a progress bar ever being drawn.
02
Pulled crests and player records from a live API instead of typing them in.
An editorial piece that goes stale is one nobody returns to. Live records also settle the question of whether the numbers are real, which is the thing that would otherwise be taken on trust.
03
Gave the reader two things to do, and refused to give a verdict.
A penalty you take and an argument you settle both make the point better than a paragraph would. Handing down an opinion at the end would have undone the reason either exists.
“Verdicts: none. That was the point.”
Built with
- Next.js
- Tailwind CSS
- Vercel
Live capture

Next
Area Realty
Real estate