Not for fame. Not for money. He built it the way a medieval monk illuminated a manuscript: one obsessively cleaned observation at a time. He wrote R scripts that scraped Wikipedia tables, then cross-referenced them with RSSSF archives, then manually corrected the mismatches. When he found that the 1934 Italy-Spain replay match had different substitution rules than the first match, he didn't rage-quit. He added a substitution_rule column.
He didn't sue. He didn't tweet. He just updated the package to version 2.0.0, adding a new dataset: officiating_decisions_with_context . fjelstul worldcup r package
But the deep story isn't about the data. It's about what people did with it. Not for fame
install.packages("fjelstul") library(fjelstul) worldcup::matches %>% filter(tournament == "2022") %>% count(winner) Her screen filled with rows. Not just winners—but every pass, every foul, every heartbeat of the tournament. She didn't see a package. She saw a cathedral built by one person's stubborn refusal to let history vanish into PDFs. He wrote R scripts that scraped Wikipedia tables,
So Joshua built the fjelstul package.
The final story within the story is this: In December 2022, after Argentina beat France in the greatest final of all time, a 14-year-old girl in Jakarta opened RStudio for the first time. She typed:
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.