ikramdeveloper

Ikramdeveloper

All Projects

Next.js, NestJS, GraphQL, SportMonks, Redis

ScoreHub — Football Prediction Platform

A football prediction platform where fans track prediction accuracy, build a following, climb leaderboards, and earn ad revenue from their sports knowledge — powered by real-time match data.

ScoreHub
The Problem

What needed to be solved

The client wanted to build his own football prediction platform with a monetization model — ad revenue shared back to top predictors — rather than depending on existing platforms. The challenge was building a full social prediction product with real-time match data, leaderboards, and an earnings system from the ground up.

Engineering Thinking

Key Decisions & Challenges

1

SportMonks over Other Football Data APIs

Situation

The platform needed a football data API with complete data, real-time capabilities, and reliable statistics for prediction accuracy calculations.

Options Considered

  • AllSportsAPI — incomplete data for upcoming matches
  • API-Football — met requirements but lacked WebSocket support
  • SportDevs — had WebSocket support but unreliable statistics with missing data for most matches
  • GoalServe — expensive ($3,200/year) with poor documentation
  • Roanuz — lacked events and statistics needed for prediction accuracy
  • SportMonks — complete data, WebSocket support, most established among evaluated options

Decision

Went with SportMonks. On deeper review of their documentation, we found they support WebSockets — and they were the most established and complete option among all providers we evaluated.

2

Clarifying the Prediction Scoring System with the Client

Situation

The Figma designs had significant mismatches between prediction type titles and their actual options — for example, 'Both Teams to Score' was showing time period options instead of Yes/No, and 'Yellow Cards' was showing corner kick options.

Decision

Before writing any scoring logic, we went through each of the 8 prediction types with the client to get confirmed specifications. Several boxes needed major rework based on client input before we could implement them correctly.

What Was Built

Features

Match Predictions

Users predict multiple outcomes per match: result, correct score, over/under goals, both teams to score, half-time/full-time result, yellow cards, and corners. Each type carries different point values based on difficulty.

Live Match Data

Real-time scores, team lineups, match statistics, and league standings pulled from SportMonks API, giving users full context when making predictions.

Social Feed

Personalised feed showing predictions from followed users and trending global predictions. Users can like, comment, share, and save predictions, with sharing to WhatsApp, Twitter, Instagram, and Telegram.

Leaderboards & Badges

Points and badges earned based on prediction accuracy and streaks — across global ranking, league-specific performance, prediction type mastery, and consecutive win streaks. The top badge (Oracle) requires earning three or more streak badges.

Earnings & Monetization

Predictors earn a share of ad revenue generated by views and clicks on their content. Earnings tracked per prediction with withdrawal support.

Multi-language Support

Available in English, German, Spanish, French, and Turkish.

Screenshots

In Action

Home page — trending predictions

Home page — trending predictions

Leaderboard with filters

Leaderboard with filters

Live match scores

Live match scores

Feed and search with filters

Feed and search with filters

Responsibility

My Role

I led a team of four engineers — contributing to development directly, reviewing pull requests, and working closely with the client throughout delivery.

Stack

Tech Stack

Next.js NestJS TypeScript GraphQL PostgreSQL Prisma Firebase Pusher Redis SportMonks AWS S3 AWS CloudFront Stripe
Result

Outcome

Live and delivered to the client.

Demo

Live Project

scorehubapp.com/