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.
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.
Key Decisions & Challenges
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.
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.
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.
In Action
Home page — trending predictions
Leaderboard with filters
Live match scores
Feed and search with filters
My Role
I led a team of four engineers — contributing to development directly, reviewing pull requests, and working closely with the client throughout delivery.
Tech Stack
Outcome
Live and delivered to the client.