SPARK
An AI-powered esports platform for intelligent team formation, player analytics, communication, and tournament management.
Project overview
SPARK is an AI-powered mobile esports platform designed to connect talented players with teams, tournaments, and competitive opportunities through one organized experience.
The platform combines player discovery, structured profiles, team management, artificial intelligence, performance analytics, reports, communication, achievements, and tournament support.
Building the experience
SPARK’s visual identity was designed to feel energetic, competitive, and technology-driven while keeping the mobile experience simple and approachable.
The start screen introduces the platform clearly and gives players and organizers a focused entry point into the experience.
The problem
Talented esports players often struggle to prove their skills, gain visibility, find suitable teammates, and discover competitive opportunities through a trusted local platform.
Existing experiences are fragmented across statistics platforms, tournament websites, social networks, and messaging applications. This makes team formation subjective, communication difficult, and player evaluation inconsistent.
Understanding player needs
Requirements were gathered through interviews with esports players and tournament organizers, supported by a survey of the target gaming community.
The research highlighted recurring needs including easier team discovery, reliable player profiles, performance reports, clearer tournament information, direct communication, intelligent recommendations, badges, and local leaderboards.
One connected solution
SPARK brings player profiles, teams, tournaments, reports, achievements, messaging, and AI-powered recommendations into a unified Android application.
Artificial intelligence supports player decisions rather than replacing them. Users can review recommendations, compare alternatives, and retain control over their final lineup and team choices.
Player profiles and game integration
Each player receives a structured profile containing personal information, connected games, achievements, team status, and performance insights.
Players can connect their League of Legends account using their Riot username and tag. SPARK then retrieves relevant game data and transforms it into readable performance information.
The profile changes from an empty starting state into a richer dashboard as the player connects games and participates in matches.
Team discovery
Players can browse available teams, review team identities, inspect member roles, and understand each team’s current performance before deciding to join.
The team experience presents win-rate information, member assignments, team descriptions, and existing teams through a consistent and easy-to-scan interface.
Creating and managing a team
Players can create a team by adding its name, logo, and description, then search for suitable members directly inside the application.
The search experience shows available players and makes it clear who has already been selected. Once five players are chosen, the team can proceed to lineup analysis.
The final team page displays the selected members, their assigned positions, and the predicted team win rate.
AI-powered lineup optimization
After five players are selected, SPARK evaluates valid role assignments and generates the top three lineup configurations ranked by predicted win probability.
The Random Forest model uses role-aware performance indicators, team-level statistics, and synergy features derived from historical League of Legends match data.
Each recommendation presents the players, their proposed roles, and the predicted probability. Users can compare the three options and select their preferred composition.
Performance reports and AI guidance
SPARK processes newly retrieved match data and updates the player’s performance profile before generating a detailed report.
Reports summarize overall performance, win rate, KDA, strengths, weaknesses, recent trends, and the player’s current improvement focus.
The integrated chatbot allows players to ask questions about their report, explore weaknesses, understand trends, and receive contextual recommendations for improvement.
Messaging and invitations
SPARK centralizes team communication so players do not need to move between several external messaging platforms.
The messaging area separates active chats from team requests, allowing users to coordinate with teams and understand the status of each invitation.
Team request cards present members, roles, acceptance status, and predicted win probability before the player responds.
Competitive leaderboard
The leaderboard increases player visibility by highlighting strong performers and presenting their position within the local competitive community.
Rankings combine performance points with achievements such as SPARK MVP, streaks, and competitive tiers including Bronze, Silver, Gold, and Diamond.
This gamification layer gives players meaningful goals beyond individual match results and encourages continued participation.
Tournament discovery
Players can browse upcoming esports tournaments and filter the available opportunities by game and publication date.
Visual tournament cards surface the event name, game, date, time, and identity in a format that is quick to scan.
Supporting tournament organizers
Organizers can create tournaments by entering the event identity, description, details, date, and time through a guided mobile workflow.
They can select the supported game and define the tournament level as beginner, intermediate, or professional.
Published tournaments then become available through the same discovery experience used by players, keeping creation and participation connected.
System architecture
The Flutter mobile application connects players and organizers with Firebase, a backend server, external game data sources, Python-based AI services, and the OpenRouter chatbot.
Riot Games data and historical datasets pass through collection, preprocessing, feature engineering, prediction, and database storage before being displayed in the mobile experience.
Technology stack
The mobile application was developed with Flutter. Firebase Authentication and Firestore support accounts, player profiles, teams, tournaments, messages, requests, and prediction results.
Python, pandas, NumPy, and scikit-learn power data preparation and the Random Forest prediction pipeline. Riot Games API provides match statistics, while OpenRouter supports contextual chatbot interactions.
Project demo
Watch the full SPARK walkthrough to explore the player, team, AI prediction, analytics, messaging, and tournament experiences.
Technical challenges
The implementation required handling Riot Games API rate limits, combining datasets with different structures, and transforming player-level data into complete team records.
The team also had to evaluate multiple role combinations, synchronize Firebase data, connect the Python prediction model with Flutter, and structure chatbot and report outputs for the mobile interface.
Project outcome
SPARK demonstrates how artificial intelligence, analytics, communication tools, gamification, and structured product workflows can improve esports team formation and talent discovery.
The result is a unified mobile platform that supports players, teams, and organizers while keeping users in control of the final decisions suggested by the AI.











