ProjectsLeague Assistant

Desktop systems

August 2026 – Present · In progress - due to Riot developer policy, code is under review.

League Assistant

A desktop companion that turns live League of Legends champion select data into useful role, rune, and matchup recommendations.

Why this needed to exist.

Champion select moves quickly, while useful information about roles, runes, and matchups is spread across several sources. The project brings that context into a companion that responds to the local game client in real time.

From interface to underlying system.

Built an Electron application that connects to the local League Client, listens for champion-select events over WebSockets, parses game data, and coordinates external sources with recommendation logic.

  • Real-time event handling
  • Desktop client integration
  • Recommendation logic

How the pieces connect.

  1. 01

    Electron and React provide the desktop application shell and interface.

  2. 02

    Node.js connects to the local League Client through LCU REST endpoints and WebSocket events.

  3. 03

    Data Dragon and OP.GG MCP data enrich champion and matchup context.

  4. 04

    A recommendation layer combines live session state with parsed game data.

The work behind the screen.

Responding to champion-select state changes without requiring manual refreshes.

Translating client events and external data into a consistent application model.

Keeping the recommendation logic separate enough to evolve as new signals are added.