Projects · in progress

Leeg Coach

A terminal League of Legends coach: live enemy threat rankings, objective timers and Claude-powered tips mid-game, for about 5 to 10 cents a game.

  • Why I built it · To get real-time tactical coaching during League of Legends games without alt-tabbing
  • Role · Solo build
  • Timeline · Mar 2026 – present
  • Stack · PythonClaude APIRiot API

    Python stdlib for the polling loop and terminal UI, with no dependencies beyond the Anthropic SDK. Riot's Live Client Data API runs locally during active matches, so the whole thing works on localhost with no extra infrastructure. Claude Sonnet 4.6 handles AI coaching with prompt caching to keep per-game cost under $0.10; Haiku handles lighter tasks like auto-generating matchup notes.

The itch

Alt-tabbing mid-game to look up a matchup or a build is how you lose a fight. I wanted the coaching I'd normally look up after a game in a terminal right next to the client, while it can still change the game.

What shipped

  • Live enemy panel. All five enemies sorted by threat, with KDA, CS, gold, items and my matchup notes for each.
  • Objective timers for drake and baron, plus callouts when towers fall and lanes open up.
  • Rule-based advice that needs no AI: push windows, objective windows, fed-enemy alerts and the next buy.
  • An AI coach (Claude) that fires on the big moments (first blood, baron, my kills and deaths) with one or two tactical bullets, grounded in the enemy comp and my champion's playbook.
  • Auto-written matchup notes for every pairing, cached and refreshed when a patch makes them stale.

One decision

Rules first, AI second. The deterministic panel handles everything that has a right answer (timers, push windows, buys), so the model only gets the judgment calls. With prompt caching, that keeps a full game at around 5–10 cents.

Where it stands

Still in progress, and still getting smarter: the latest update taught the coach to recognize tank-built enemies and re-plan the build when the enemy comp flips.