How I Built an AI Esports Coach with Python, GRID, and Gemini (Hackathon Journey)

Published: (February 1, 2026 at 03:38 PM EST)
2 min read
Source: Dev.to

Source: Dev.to

Problem Statement

Esports coaches and players are bombarded with data. The GRID Open Platform provides an incredible live data feed, but interpreting complex GraphQL schemas in the middle of a high‑pressure match is impossible for a human. We needed a system that could:

  • Digest the chaos of live game events (Series State).
  • Translate them into actionable strategic advice.
  • Monitor the players’ mental state (the “Tilt” factor).

Solution: C9 Pulse

C9 Pulse is a modular web dashboard built with Flask that acts as a real‑time command center. It doesn’t just show K/D ratios; it tells you how to fix them.

Dashboard Overview

  • Real‑time Economy Graph – visualizes financial momentum to predict enemy buy rounds.
  • Tilt Meter – a custom algorithm that detects when a player is “tilting” by analyzing death streaks and performance drops against their historical average.

Coach Titan (The Heart) 🎙️

Integration with Google Gemini gives the data a personality. Meet Titan, a ruthless yet supportive AI coach that speaks advice through Edge‑TTS (Microsoft Azure) during timeouts, keeping the player focused on the screen.

Example advice

“Hans Sama is struggling with a 2/6 K/D. His confidence is brittle. Stop aggressive peeks, set him up for a trade to reset his mental.”

Implementation

Data Retrieval

The standard GRID endpoints provide schedules, but I needed live kill feeds. JetBrains AI Assistant (Junie) helped navigate the deep nesting of the GRID GraphQL schema and construct a query in seconds.

query GetSeriesState($id: ID!) {
  seriesState(id: $id) {
    games {
      teams {
        players {
          name
          kills
          deaths
        }
      }
    }
  }
}

Match Analyzer

Using the query above, I built a MatchAnalyzer class in Python that processes the stream in real‑time, calculating economy‑risk percentages on the fly.

Backend Stack

  • Backend: Python 3.9+ & Flask
  • Data Source: GRID Open Platform API (GraphQL)
  • AI Logic: Google Gemini API (generating strategic advice)
  • Voice Engine: edge-tts (running locally for zero latency)
  • Development Environment: JetBrains PyCharm + Junie AI

What I Learned 🚀

  • Context is king. Building the Tilt Meter required looking beyond simple K/D ratios. Distinguishing a purposeful “entry fragger” 0/3 from a player missing easy shots was crucial.
  • AI can be a teammate. When powered by the right data (GRID) and built with powerful tools (JetBrains), code can become a supportive presence under pressure.
  • The project evolved from a simple CLI script to a full voice‑enabled dashboard, demonstrating the synergy between data science and sports psychology.

Project repository:
Full submission on Devpost:

Back to Blog

Related posts

Read more »