I created AutoRune after I was frustrated with making new rune pages for every new champion I rolled on ARAM as well as not having enough time to make new runes for last-second switches and ending up with Electrocute on Yuumi.
What it does
AutoRune is a handy tool that automatically detects which champion you've selected while you're in the champion selection screen and creates a rune page for that champion based on a variety of factors such as the gamemode, your rank, and your region.
How I built it
AutoRune was built using python, using the requests HTTP framework to interact with the LCU API, and the pywebview engine for the frontend application.
First, AutoRune detects which champion you've selected through the API provided by the League client, or the LCU. It looks at which gamemode you're playing, what your summoner rank is, which region you're from, etc.. Then, it interacts with some APIs on the interwebs to find appropriate runes given the conditions, and finally creates a page for you to use on the League client.
Challenges I ran into
The League client is LARGELY undocumented (i.e. not at all, aside from a list of endpoints), as well as the APIs that I used for getting the rune data. I had to do a lot of poking around and trial and error to get everything exactly the way that League wanted me to. It was not a simple task, as I had to mostly infer what information was required in the bodies a few requests.
Accomplishments that I'm proud of
I managed to get it working, and I even used it for a few games afterwards. Also, I'm very proud of the UI.
What I learned
Documentation is criminally underrated
What's next for AutoRune
More customization features, and maybe some in-game support as well (e.g. build/skill paths).