Case Studies/ScoreSight
EsportsAnalytics

ScoreSight

AI match predictions and live odds for Dota 2 and CS2

AI
Predictions
Real-time
Odds
Dota 2 + CS2
Coverage
Tiered
Access

The Challenge

Esports fans and analysts needed reliable match predictions and odds comparison in one place. Raw data alone wasn't enough; users wanted AI-generated insights and clear explanations. ScoreSight needed to deliver pre-match, post-draft, and live analytical updates with multiple access tiers (Free, Core, Premium) and scalable real-time data.

Constraints & Requirements

  • AI-generated predictions with analytical explanations for Dota 2 and CS2
  • Real-time odds comparison from multiple bookmakers
  • Tiered access (Free, Core, Premium) with subscription management
  • Filtering, match pages with probability charts, and accuracy indicators

Our Approach

1

Discover

Mapped esports data sources, bookmaker APIs, and user expectations for predictions and odds.

2

Design

Designed match discovery, prediction cards, odds table, and premium dashboard. Defined tier features and paywall.

3

Build

React.js and Next.js frontend with TypeScript, Redux, and SCSS. Backend services for predictions, odds aggregation, and subscriptions.

4

Launch

Launched with free tier and premium trial. Monitored prediction accuracy and API latency.

5

Iterate

Added post-draft and live updates, more bookmakers, and improved explanation quality.

The Solution

Esports analytics platform with React.js, Next.js, TypeScript, Redux, and SCSS delivering AI-powered match predictions, real-time odds comparison, tiered subscriptions, and analytical explanations for Dota 2 and CS2.

Tech Stack

Frontend

React.jsNext.jsTypeScriptReduxRedux ToolkitSCSS

Backend

Node.jsRESTful APIsPrediction APIsOdds aggregation

Charts & Data

RechartsChart.jsLightweight Charts

Analytics & Monitoring

Google AnalyticsMixpanelDatadog

Testing

CypressPlaywrightStorybookESLintPostman

Infrastructure

Real-time dataSubscription managementDocker

Have a similar project?

Start a Conversation →