Every group that plays football every week has the same three arguments: who's in, whose team is stacked, and who was actually the best player. Squadcard is an app for football groups that play every week, from 5-a-side to 11-a-side, and it settles all three.
How it works
- Who's in: set up the game once and everyone says in, out or maybe from a link. Players never install anything, so the half of the group on Android joins from the browser.
- Fair teams: picked for you from everyone's rating, with the keepers split and the organiser's keep-apart / keep-together pairs respected. Don't like them? Reshuffle for another fair split.
- Ratings from your mates: after the game each player rates everyone else out of 10 and picks a player of the match. Only totals are ever shown, never who voted what, not even to the organiser. Once six or more people have voted for someone, their highest and lowest votes are dropped, so rating your mate a 1 as a joke barely moves anything.
- Player cards: those totals become each player's rating, so your card goes up or down every week with how you actually played.
- After the game: player of the match and Team of the Week come out as images made for the group chat and Stories. There are stats and a table, seasons with awards and a season Wrapped, and a pitch-money tracker that shows who owes what (tracking only; the app never moves money, players pay the organiser however they already do).
Who it's for
Organisers and players of any group that plays every week: work teams, mates' games, Sunday kickabouts, 5-a-side leagues. If you just need two fair sides tonight, the free team generator at squadcard.app/team-generator does that with no sign-up.
How it's built
- Web first: the website and backend are Next.js and TypeScript on Vercel, with Postgres on Neon through Drizzle. The website is the whole product for players.
- The iPhone app is SwiftUI and a thin client. Ratings, awards, card designs and rules live on the server, so they change without an App Store update.
- The team picker exists twice, in TypeScript and Swift, and both must pick exactly the same teams for the same players and seed. It uses its own seeded random generator (mulberry32) and integer maths only, and a shared JSON file of test cases pins every result. I wrote about it on DEV: "Picking fair football teams twice".
- Agents: organisers can run their squad from Claude or any MCP client through Squadcard's own remote MCP server (in the official MCP Registry). An agent can set the game, say who's in, pick and reshuffle teams and enter the score. It never sees individual votes.
Pricing
Joining a squad, voting and seeing your card are free. The organiser runs the squad with Squad Pro (7 days free), and one Squad Pro covers everyone in it.
I'd love feedback from anyone who plays in, or runs, a weekly game: how does your group pick teams today, and what would make you trust an app to do it?
Built with