Zach Christensen
← projects
October 2026personal

Elomentary

A pre-game scouting report for League of Legends. It reads champion select, suggests picks from your own champions, and has a short report for your role waiting at the loading screen.

PythonJavaScriptpywebviewClaude APIPyInstallerInno Setup
Download for Windows ↓

Windows 10 or 11 only

Installing

  1. Your browser may say the file isn't commonly downloaded. Choose Keep.
  2. Windows may show "Windows protected your PC". Click More info, then Run anyway. You only see this the first time: the app is free and not code-signed.
  3. Click Install, then Finish. The app updates itself after that.

By the time a League game loads, most of what decides your lane is already known: who you are up against, both junglers, whether you just got counter-picked. Elomentary reads it as it happens and turns it into something short enough to read before the game starts.

While you draft, it suggests picks from your own champions, ranked by how comfortable you are on them and how they fit the draft. At the loading screen it shows one report for your role: how your lane goes, how to play into a counter-pick, what both junglers mean for you, who must not get fed, and a game plan. Then it gets out of the way and shows nothing during the game.

It only reads the League client. It never clicks, picks or changes anything.

How it is built

A Python desktop app for Windows. It finds the League client, subscribes to its events over a local websocket, and follows champion select as it happens. The window is pywebview on Edge's engine.

With an Anthropic key, Claude writes the report in plain sentences from the facts the app gathered. Without one you get the same facts as a list, so it works without the AI and reads better with it. A Riot API key adds enemy players who queue together and one-tricks at the loading screen, and a check of each report against how the game actually went.

Every release runs the test suite on a Windows runner, packages the app with PyInstaller inside an Inno Setup installer, and publishes it to a public releases repo. The installed app checks that repo and updates itself.