C9 Coach AI

Inspiration

As esports fans and developers, we've always felt a disconnect between the incredible depth of data available and how it's actually used by teams. Coacjes spend hours manually scrubbing through VODs and spreadsheets. We asked: "What if an AI could watch the game with the eyes of a Grandmaster analyst?" We wanted to build a tool that didn't just show numbers, but understood the narrative of a match—giving Cloud9 the competitive edge to predict the unpredictable.

What it does

C9 Coach AI is an intelligent assistant that ingests real-time match data from GRID and uses Google Gemini to:

  1. Identify Player Patterns: Detect subconscious habits (e.g., "Faker always wards pixel brush at 3:00").
  2. Generate Macro Agendas: Create automated post-match review sessions for coaches.
  3. Simulate "What-If" Scenarios: Use probabilistic reasoning to answer questions like "Win probability if we prioritized Baron?".

How we built it

We architected the solution as a high-performance modern web app:

  • The Brain (AI): Using Google Gemini 3 Flash, we built a context-aware reasoning engine. We fed it prompt-engineered JSON chunks from GRID to simulate "game sense".
  • The Data (Backend): We integrated the GRID Esports Data API (GraphQL) to fetch granular series telemetry.
  • The Interface (Frontend): Built with React and Vite for speed, styled with Tailwind CSS for a premium "Dark Mode" aesthetic that fits the gaming vibe.
  • The Dev Experience: The entire project was coded using IntelliJ IDEA, leveraging Junie (AI Agent) to accelerate boilerplate and complex refactoring.

Challenges we ran into

  • Data Overload: GRID provides an ocean of data. Filtering 10,000+ events per match into a concise context window for Gemini was our biggest hurdle. We had to build intelligent aggregators to summarize "Series-level" trends without losing detail.
  • Hallucinations: Early versions of the AI would invent items or abilities. We solved this by implementing strict "Evidence-Based" prompting, forcing the AI to cite specific data points for every claim.
  • State Persistence: Ensuring complex AI analysis wasn't lost when a user refreshed the page required a robust Zustand implementation with session storage synchronization.

Accomplishments that we're proud of

  • The "What-If" Engine: Successfully implementing a Logic engine that can take a natural language query and output a data-driven probabilistic outcome.
  • Seamless Data Integration: Bridging the gap between raw, complex GraphQL data and semantic LLM understanding.
  • Professional UX: Creating a dashboard that feels like a tool a Cloud9 analyst would actually use on stage.

What we learned

  • Data Granularity: Simply feeding stats to an AI isn't enough; you need historical averaging to detect true outliers.
  • Prompt Engineering: To get professional output, you must treat the LLM as a persona (Elite Coach) with strict boundaries.
  • The Power of Tooling: Using IntelliJ and Junie allowed us to iterate at 2x the normal speed, focusing on logic rather than syntax.

What's next for C9 Coach AI

  • Real-Time Live Ingest: Connecting to WebSocket feeds for second-by-second advice during the game.
  • Video Computer Vision: Integrating video feeds to correlate data logs with visual clips.
  • Multi-Title Expansion: Extending support to CS2 and Dota 2 to become the universal OS for Cloud9 performance.

Built With

Share this project:

Updates