League Team Builder
Balance two League of Legends teams from any player pool, schedule Clash, and keep match history and a leaderboard. It’s open source and comes in two editions: a website you host, or a Windows desktop app that works fully offline with its own local database. It has three looks to choose from. Not endorsed by or affiliated with Riot Games.
Website Open source · .NET · Web + offline Windows app
A project by Youssef Ehab Alsayed
The question
A League feature I built inside a private site kept being useful to friends’ groups. Could it become a standalone project anyone can run, with its own look and no Riot art in the repo?
What I built
I extracted about 19k lines of League code into a fresh .NET 10 project, replaced the site’s login, permissions, file storage and notifications with small standalone versions, and moved everything to SQLite. A new two-sided theme (Side A / Side B) comes in three looks that each user picks. Rank badges are uploadable instead of shipped. The Windows edition is a thin WebView2 shell around the same unchanged web app, so both editions use the same pages and logic. It runs fully offline on a local SQLite file, and the first launch asks you to create the first Admin. The tutorial demo you see here is a static page on Vercel with invented players.
What fought back
- The old styles read about 540 theme variables from the host site. Without a replacement the extracted app had no colours, so I added an alias layer and migrated off it step by step.
- A coupling audit that only looks at C# types misses the CSS and the permissions table. Both turned up late.
- One SQLite migration set is easier to keep correct than supporting two database providers, especially for in-place upgrades on the desktop edition.
- A thin shell around the unchanged web app was a better desktop design than adding a second hosting mode to the web code.
Tools
Live site
Screenshots