So Joshua built the fjelstul package.
By 2020, the package had grown legs. Users on GitHub began opening issues: "Hey, the corner kick count for 1962 seems off." "Can you add referee nationalities?" "What about penalty shootout sequences?" Joshua didn't just fix them. He traced each correction back to a primary source—a grainy YouTube video of a black-and-white broadcast, a scanned Italian sports newspaper from 1934, a handwritten match report from the Uruguayan Football Association. fjelstul worldcup r package
Most people would call this madness. Joshua called it . So Joshua built the fjelstul package
And then, quietly, something shifted. FIFA itself started referencing the package in internal memos. Not officially—they'd never admit it. But when they launched their own "enhanced stats" API in 2022, the field names matched Joshua's. event_id . minute_regulation . is_own_goal . He traced each correction back to a primary
A journalist used fjelstul to prove that red cards were 40% more likely in knockout matches when the referee was from a nation with a colonial history over one of the teams. A high school teacher in Brazil taught probability using the distribution of hat-tricks. A data artist made a sonification of every World Cup goal—each country assigned a musical note, each tournament a movement.
The problem started simply enough. He was a PhD student researching European legal integration, but the 2018 World Cup had just ended. France had beaten Croatia 4-2. And like millions of others, Joshua found himself arguing with a friend: "Who actually committed the most fouls in a single final?" The official FIFA records were PDFs. Broken links. Inconsistent languages. One year, they tracked "dangerous play"; the next, they switched to "unsporting behavior."