Escore — Esports Platform
A comprehensive esports platform bringing competitive gaming to the Middle East & North Africa
Overview
Escore is a full-stack esports platform designed specifically for the MENA gaming community. Built for ROV GROUP, the platform provides tournament management, live match tracking, team and player rankings, news coverage, and a transfers module — all tailored for the Arabic-speaking esports audience.
The project spans a Node.js + TypeScript backend with 16 modular services, a Next.js web dashboard, a Flutter mobile application, and real-time WebSocket infrastructure — all integrated with professional esports data APIs including PandaScore, GRID, and Abios.
Problem & Solution
A Market Gap in MENA Esports
The MENA esports scene lacked a dedicated, Arabic-first platform for organizing and following competitive gaming. Existing global solutions were English-only and didn't cater to regional tournament formats, cultural preferences, or local community dynamics. Teams, players, and fans had no single destination built for them.
Purpose-Built for the Region
Escore fills this gap with a purpose-built platform featuring full RTL support, regional tournament structures, Arabic content-first design, and deep integration with major esports data providers. Every feature — from the transfer portal to live standings — is engineered around how MENA esports communities actually operate.
Key Features
Tech Stack
Architecture
Escore uses a modular monolith backend architecture — a single Node.js + Express process organized into 16 clearly separated service modules, each with its own routes, controllers, services, and data models. This approach avoids the operational overhead of microservices while still maintaining clean separation of concerns that allows individual modules to be extracted later if scale demands it.
The REST API is consumed by both the Next.js web dashboard and the Flutter mobile app. A WebSocket layer (Socket.IO) runs alongside the HTTP server and handles real-time broadcasting for live match events, score updates, and in-app notifications.
External esports data is ingested via scheduled jobs that poll PandaScore, GRID, and Abios at configurable intervals, normalize the responses, and persist the results into MongoDB — making live data available to clients through the platform's own API endpoints.
Interested in a Similar Project?
Whether you need a sports platform, a real-time application, or a bilingual MENA-focused product — let's talk about what I can build for you.