Games · Devlog #06 · personal project

World Cup 2026 Pool

Looking back at a no-money office pool

A look back at the system I built for a 2026 World Cup pool: predictions, a leaderboard, groups, badges and stickers, with fixtures imported from the official source. No bets, no money and no odds; just friends and coworkers competing.

Pixel-art illustration: a stadium at night with floodlights, a colourful crowd, a scoreboard reading “2026”, a striped pitch, a goal with a net, a moving ball, confetti and a “2 x 1” prediction card.
Pixel-art illustration made for this post. Not a capture from the game.

Goodbye, spreadsheet

The office pool always dies on the round-2 spreadsheet. World Cup pools tend to end up in a shared spreadsheet nobody trusts and a group chat nobody reads.

For the 2026 World Cup I built a system that automates the fixtures, the scoring and the ranking. The Cup is over; this post looks back at what was built.

No money, just bragging rights

No money bets. No odds. No payments.

That stance was declared from day one. It’s a recreational product for friends, families and coworkers, which is why it can be shared at a company, a school or on social media without the baggage that comes with betting.

How it worked

Predictions

With configurable scoring rules.

Leaderboard

Global and per group.

Groups

Email invites and WhatsApp sharing.

Automatic fixtures

Matches imported from FIFA’s public API.

Badges and stickers

Achievements, profile stickers and avatar upload.

Admin

Entering results and adjusting the rules.

The look had a Brazil identity with glassmorphism, and it was responsive. Accounts had password recovery by email.

Decisions I’d make again

  1. Nobody types in fixtures by hand. Matches come from the official source, so the pool starts out with the right schedule.
  2. Invite people where they already are. With WhatsApp invites, the group grows where the conversation already happens, without asking anyone to change habits.
  3. Something to do between rounds. Badges and stickers give people a reason to come back even when there’s no match.
  4. A product with a fixed date. A World Cup pool has a set window; the system had to be ready before the tournament, with the 2026 matches already loaded.

Stack & tech sheet

  • .NET Framework 4.8
  • ASP.NET MVC 5 (Razor)
  • Entity Framework 6.4
  • SQL Server
  • Bootstrap 5
  • Forms Authentication + PBKDF2
Status
Working system, with database scripts and the 2026 World Cup matches preloaded
Audience
Friends, families and coworkers
Money
None: no bets, odds or payments
Passwords
Stored as PBKDF2 hashes

Want a no-money pool for the next World Cup, or to talk about internal gamification? Write to me.

Write to me