Score Call screenshot
← Back to Projects

Score Call ⚽

A World Cup 2026 score prediction game for groups — create a room, share a code, lock in your predictions, and watch your group leaderboard build across the whole tournament.

HTML CSS JavaScript Live Site ↗

Overview

Score Call is a prediction game built for World Cup 2026. The concept is simple: create a private room, share the code with your group, and everyone submits their score prediction for each match before it starts. Points are awarded based on how close your prediction is — 3 points for an exact score, 2 for the correct winner with a close score, 1 for the right winner. A running leaderboard tracks standings across the entire tournament.

It was built quickly to be ready before the tournament kicked off — the constraint was "done and shareable within a few days."

Project Goals

The goal was a fun, low-friction way for a group of friends to have skin in every World Cup match without running a complex fantasy football setup. Joining should take under 30 seconds, predicting a score should take under 5 seconds, and the leaderboard should be satisfying to watch evolve over 64 games.

Tech Stack

  • HTML & CSS — Clean, mobile-optimized layout built to work on phones since most predictions happen on the go.
  • JavaScript — Room management, prediction locking, scoring logic, and leaderboard calculations.
  • LocalStorage / Backend — Persistent storage for room state, predictions, and match results across sessions.
  • Vercel — Fast deployment with automatic preview URLs for testing.

Features

Room System

Any user can create a private room and receive a short shareable code. Anyone with the code can join, submit their name, and start predicting. Rooms are isolated — your group's predictions and leaderboard are private.

Prediction Locking

Each match has a submission window that closes at kickoff. Once locked, predictions are frozen and cannot be edited. This creates the right amount of tension — you have to commit before the match starts, just like in real sports betting.

Live Leaderboard

As match results are entered, the leaderboard updates in real time across all group members. The point system (3 pts exact, 2 pts close, 1 pt right winner) keeps the game competitive even when someone gets lucky with an exact score early on.

Challenges

Building a multi-user, real-time leaderboard in vanilla JavaScript without a proper backend required careful decisions about state synchronization. Making sure all members in a room see consistent data — especially when results are being entered — was the most technically demanding part of the project.

The prediction locking mechanism also needed to be bulletproof on mobile, where users might close the tab mid-submission. Edge cases in form state required defensive saving logic.

Learning and Takeaways

Score Call reinforced that real users stress-test your assumptions instantly. Within the first hour of sharing it with friends, three bugs were found that never appeared in local testing — all related to mobile browser quirks and unexpected network conditions. Shipping early and fixing fast beats delayed perfection.

It also showed me that the simpler the concept, the easier it is to get people to actually use something. Every friend group has a World Cup prediction pool; making it digital and automatic was all the pitch it needed.