Fotbollsfeber just crossed into 3.0. That’s a bigger deal than the version number suggests, so I wanted to write down what actually shipped and, more importantly, what it makes possible now that wasn’t before.
I’ve written about pieces of this as they happened — the Elo ranking, the World Cup fantasy tipset, the general rebuild of the site’s guts. 3.0 is where those threads tie together into something that’s more than the sum of its parts.
More leagues, properly this time
Fotbollsfeber has always been strongest on Allsvenskan and Superettan — Swedish men’s football. Everything else was a step down: thinner data, missing features, pages that felt like an afterthought.
3.0 closes that gap for five leagues at once. Damallsvenskan — Swedish women’s top division — now gets the same treatment as the men’s leagues: full stats, standings, the works. Alongside it, four Nordic neighbours came online for the first time: Norway’s Eliteserien and 1. divisjon, Denmark’s Superliga and 1. division, and Finland’s Veikkausliiga.
That’s not a cosmetic addition. It’s a genuine expansion of what the site covers, and it happened because the underlying architecture finally stopped treating “which league is this” as a special case scattered across the codebase. One league added the same way as the next, instead of a bespoke project every time.
Tipset, generalized
The World Cup fantasy tipset was fun to build and, judging by the people who actually used it, fun to play. Predict scores, join a private pool with friends, watch a leaderboard update as results come in.
The problem with a one-off tournament feature is that it’s exactly that — one-off. Once the World Cup ended, so did the game.
3.0 pulls that prediction engine out of “World Cup only” and turns it into a platform capability. The same private-pool, predict-and-compete mechanic that worked for the World Cup is now live for Allsvenskan, with the scoring, pools, and leaderboards rebuilt as something any tournament or league can plug into — not something rebuilt from scratch each time. Champions League groups, EM 2028, whatever comes next: the plumbing is already there.
A real, public API
This is the one I’m most excited about, even though it’s the least visible.
Until now, Fotbollsfeber’s data only existed inside Fotbollsfeber — a web app talking to its own database, with no promise that anything outside it could rely on the shape of that data staying stable. 3.0 ships a versioned, documented, rate-limited public API: leagues, matches, standings, live scores, tipset data.
That sounds like plumbing, and it is. But it’s the specific kind of plumbing that turns a website into a platform. It’s the difference between “the data lives in one Next.js app” and “the data is a thing other software — mine or someone else’s — can be built on top of.” A mobile app is now an API integration away instead of a rewrite. So is anything else I haven’t thought of yet.
The unglamorous part that made it possible
None of the above would have shipped cleanly without a chunk of work that produces zero user-facing features on its own: unifying duplicated components, wrapping API routes in one consistent handler instead of five slightly different ones, centralizing configuration that used to be scattered across the codebase.
It’s the same story as last time I wrote about this codebase — boring architecture work that’s hard to get excited about and even harder to explain, but it’s what makes “add a sixth league” or “add a second tournament” take days instead of weeks. 3.0 paid down a real chunk of that debt on purpose, specifically because everything else in this release depended on it.
What it opens up
This is a foundation release more than a features release, so the interesting part is what it unblocks:
- A native app. With a stable public API, a mobile client is now a realistic project instead of a second website to maintain in parallel.
- Deeper analytics for people who want them. A “Nerd View Pro” tier — the kind of match and team analysis that goes past what a casual visitor needs — has a real foundation to build on now that the data layer is consistent across leagues.
- Tipset everywhere. More tournaments, and eventually the kind of player-pick fantasy game that the current predict-the-score format doesn’t cover.
- The first real monetization, done carefully. Some of this — the Stryktipset probability work in particular — is genuinely useful enough that I think people would pay for it. 3.0 is the platform work that has to exist before that’s a sensible thing to try.
None of that is a promise with a date attached. But for the first time in a while, the honest answer to “could you build X” is “yes, and it wouldn’t be a slog” — for a lot of values of X that weren’t true six months ago.
If you follow Swedish or Nordic football, fotbollsfeber.se is worth a look either way. The API isn’t publicly self-serve yet — that’s next — but it’s real, versioned, and built to last.