Football (Soccer) Supporters

A quiz that tells you which football clubs you should support, league by league.

The problem

The best way to follow a sport is to pick a team and stick with it. There’s no single right answer for how to choose. Local teams are the obvious starting point, and rooting with friends or family can make the choice easy. But sometimes you want to follow a league without any built-in loyalties.

This quiz helps you find your team by matching your taste in football, the kind of fans you want to stand with, and the values you care about.

What I built

The quiz comprises thirteen temperament questions and four priority sliders, positioning each user as a point within a four-dimensional space defined by Vibe, Play, Ethics, and Fanbase. Matching is determined by weighted Euclidean distance to 186 clubs across ten leagues, with per-league amplification to ensure meaningful differentiation rather than defaulting to centrally located clubs. An 81-cell archetype lattice, resolved by nearest-centroid using the same weights, identifies the type of supporter each user represents. The technical stack is intentionally minimal, utilizing modular Sinatra, Sequel with SQLite and Litestream replication, ERB, and vanilla JavaScript, all deployed via a blue/green setup by the push-button-deploy utility.

The application also supports the MCP protocol. A read-only server over standard input/output exposes the same domain layer as the web application, enabling an AI assistant to function as a primary client of the recommender system rather than relying on data scraping. The available endpoints include list_leagues and list_teams for accessing club data (attribute vectors, banded, with descriptive blurbs), score_supporter for matching a desire vector or raw answer set against a specific league, build_profile for generating a comprehensive cross-league Football Profile, and explain_match for providing a per-axis explanation of supporter-club compatibility. Two additional resources are provided: the axis codebook, which defines each axis as both a supporter preference and a club attribute, and the archetype catalog. Since both tools and web routes utilize the same scoring mechanism, the responses from the assistant and the website remain consistent.

Result

The quiz home page.
The quiz home page.
An example football profile
An example football profile