Project Story

About the Project

RoadToPro is a real-time esports analytics platform that ingests, processes, and visualizes League of Legends match data. It combines live match feeds from multiple sources, runs machine learning predictions, and provides a React dashboard for actionable insights. The platform also integrates an AI-powered chatbot to help users understand match dynamics in real time.


Inspiration

As esports continue to grow globally, real-time insights into professional matches are in high demand. We were inspired by the challenge of turning raw, high-frequency match data into meaningful insights for both fans and analysts. Traditional dashboards often lag behind live events, and we wanted to create a platform that provides instantaneous data, predictive analytics, and AI-assisted guidance.


What it Does

RoadToPro:

  • Continuously ingests match data from PandaScore and LoL Esports APIs.
  • Streams events via Kafka/Redpanda to handle high-volume data.
  • Stores structured data in PostgreSQL for analysis and historical insights.
  • Visualizes live matches with gold difference charts, momentum graphs, and player stats.
  • Predicts win probabilities using machine learning models in real time.
  • Provides an AI chatbot for natural-language queries on ongoing matches.

How We Built It

We combined a modern full-stack architecture with event-driven design:

  1. Backend: Python 3.12, FastAPI, AsyncIO for high-concurrency ingestion.
  2. Data Streaming: Kafka/Redpanda for reliable event messaging.
  3. Database: PostgreSQL for structured storage.
  4. Machine Learning: Agents compute live win probabilities and detect highlights.
  5. Frontend: React + Vite + TailwindCSS + Recharts for interactive dashboards.
  6. AI Integration: Ollama LLM powers the chatbot for real-time match insights.
  7. Infrastructure: Docker Compose orchestrates all services with Prometheus for monitoring.

We implemented asynchronous consumers, data normalization pipelines, and a modular architecture to support future games beyond League of Legends.


Challenges We Ran Into

  • High-frequency data: Ingesting and processing live LoL feeds without lag required fine-tuning Kafka consumers and Python async loops.
  • Rate limits: APIs like PandaScore have strict request limits, forcing us to implement robust throttling and caching.
  • Docker networking: Connecting Kafka, Postgres, and the FastAPI service across host and containers on Windows posed initial configuration headaches.
  • Real-time predictions: Computing win probabilities without blocking the dashboard required careful async programming.

Accomplishments That We're Proud Of

  • Fully real-time data pipeline from ingestion to live dashboard visualization.
  • AI-powered chatbot answering match questions in natural language.
  • Scalable architecture with Kafka + PostgreSQL + Python AsyncIO.
  • Interactive frontend with live charts, momentum analysis, and player stats.
  • Successful integration of multiple esports APIs into a unified system.

What We Learned

  • Advanced asynchronous Python programming with AsyncIO and asyncpg.
  • Event-driven architectures for high-throughput data processing.
  • Effective data normalization and real-time analytics.
  • Container orchestration and networking nuances with Docker on Windows.
  • Building a full-stack ML-ready platform from scratch, integrating backend, frontend, and AI models.

What's Next for RoadToPro

  • Expand to other games like Valorant and CS2.
  • Add predictive analytics for tournament outcomes.
  • Enhance the AI chatbot with voice input/output.
  • Implement real-time alerting for key in-game events.
  • Optimize ML models for faster predictions with larger datasets.

Built With

Share this project:

Updates