Worth the 90: The App That Tells You Which Game to Watch, Without the Spoiler
I’ve wanted to build this for years. The problem is always the same: I miss a football match, I want to know whether it’s worth catching up on, but I don’t want the score or the result spoiled before I watch it.
Life doesn’t care about kickoff times. You’re away for a weekend, or you just can’t make a kickoff, and by the time you’re free there are a few games sitting there and time for maybe one. Which one was actually good?
The World Cup makes this so much worse. So many games, so many awkward times, no realistic way to watch everything. That’s exactly why I finally built it. The one real blocker I’d been putting off for ages was the data. I use API-Football, which is about $20 a month, and I could never justify it for everyday use. For a World Cup, with this many games, paying for a month or two is a no-brainer. So I did.
The result is Worth the 90.
What it does
Every completed match gets a worth score out of 100, built from four categories. You get the single score plus a full breakdown, but the whole point is that none of it spoils the game.
Everything stays blurred until you choose to reveal it. The first thing you see is a simple YES or NO verdict against a threshold you set yourself. That tells you whether the match clears your bar without telling you whether it scraped over it or was an all-time classic. From there you reveal more one step at a time: the worth score, how the action split across the two halves, the match stats, the individual factor scores, and finally, if you want it, the result.
You can browse by date or by stage, sort by the worth score, and tweak the weightings if you care more about some things than others. Past World Cups from 2022, 2018 and 2014 are in there too, so you can get a feel for how the scores land before you trust them on a live game.
The four things it measures
- Goals. How much scoring there was, weighted by when and how the goals came.
- Comeback. Equalisers, recoveries, swings in the lead.
- Surprise. How far the result went against expectations. For live games it uses pre-match odds. For the older tournaments, where I couldn’t get odds, it falls back on FIFA rankings.
- Drama. Late goals, red cards, missed penalties, knockout pressure, how far into the competition you are, big-clash tension.
The adjustment I’m proudest of is the half split. Early on I noticed loads of group games had one brilliant half and one dead one. Brazil vs Morocco was 1-1 at the break off a great first half, then nothing after it. France vs Senegal was nearly 3-1 by halftime and then flattened out. So the app now flags whether most of the action was in one half, and if a game was entirely front-loaded or back-loaded, it tells you that too. It’s a small thing that completely changes how you’d approach a replay.
Under the hood
The whole thing runs on Cloudflare. A Worker does the scoring, caching and updates, driven by cron jobs.
The fiddly part was the odds. They only refresh every three hours on the API, so hammering it constantly was pointless, and I dialled the frequency back once I realised how redundant it was. The exception is the moment right before kickoff. For a game starting at 7, I open a five-minute window just before it starts and give that match top priority for an odds update, so the surprise score is as accurate as possible against the closing line.
After kickoff there’s a results window, roughly an hour to five or six hours after the start, where it keeps checking whether the game has finished. That also handles postponed games, like the ones we had this tournament, where it just keeps polling until the data lands and then pulls everything through.
It’s heavily cached to keep it efficient, and everything is stored in KV. The historical data for 2022, 2018 and 2014 sits alongside the live stuff, using FIFA rankings instead of odds for the surprise factor.
Why I think this actually matters
There are a lot of sport nerds like me who care about the intensity of watching a game live, the buzz of not knowing what’s coming. Once you know the score, that’s gone. Worth the 90 is really about protecting that feeling when you can’t watch live.
It’s perfect for a tournament like this, where four games happen overnight and you only want the best one. But it’s just as useful in a normal season. Liverpool play so many times that some weeks I genuinely can’t afford the time. They’re at home to Brighton, it’s probably a boring 2-0, but is there a comeback, a red card, something worth it? I want to know before I commit to watching it back and dodging spoilers all day, which is a job in itself.
I think it travels well beyond football too:
- Formula 1. I’m really looking forward to testing this as an F1 exercise. Plenty of people watch races on replay rather than live, so “is this one worth the rewatch” is a real question.
- NBA and the American sports. Awkward timings for Europeans, and honestly for a lot of people depending on where they are on the planet. The NBA is basically a nightly version of the World Cup problem: loads of games, hard to know which nights produced the good ones. Waking up to “five games last night, no spoilers, here’s the best one” is exactly the use case.
One friend has even been using it for highlights. If you can’t sit through 30 minutes of highlights across five games, you just find the best one and watch that. Same idea, smaller commitment.
It started as something I wanted for myself, but I think there’s real appetite for it. Have a play, and I’d love any feedback.
Try it: Worth the 90