It shows live group tables, fixtures, lineups, match events and box scores. Perfect for keeping on a second screen while watching a game.
The fun part: The whole app is written in my own jdBasic language.
The data comes straight from ESPN's JSON endpoints. No API key needed, only HTTP.
Code sample: Flags are fetched on demand, turned into GPU sprites and cached in one small function:
FUNC FLAG(code$)
IF MAP.EXISTS(gFlags, code$) THEN RETURN gFlags{code$}
DIM url$ = "https://a.espncdn.com/i/teamlogos/countries/500/" + LCASE$(code$) + ".png"
DIM png$ = HTTP.GET$(url$)
BINWRITER "tmp/flag_" + code$ + ".png", png$
DIM sid = SPRITE.LOAD("tmp/flag_" + code$ + ".png")
gFlags{code$} = sid : RETURN sid
ENDFUNC
HTTP -> file -> sprite -> cache.
The tables are just ImGui widgets fed by APL-style array operations. Downloading JSON, sorting data and drawing the UI all happen in jdBasic.
That was probably my favourite part of this project.
GitHub:
Latest Release
Dashboard Code

Top comments (0)