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:
- Backend: Python 3.12, FastAPI, AsyncIO for high-concurrency ingestion.
- Data Streaming: Kafka/Redpanda for reliable event messaging.
- Database: PostgreSQL for structured storage.
- Machine Learning: Agents compute live win probabilities and detect highlights.
- Frontend: React + Vite + TailwindCSS + Recharts for interactive dashboards.
- AI Integration: Ollama LLM powers the chatbot for real-time match insights.
- 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
- docker
- fastapi
- kafka
- langchain
- ollama
- postgresql
- prometheus
- python
- react
- redpanda
- streamlit
Log in or sign up for Devpost to join the conversation.