This is another one of those projects where most of the work is invisible by the time you arrive at the finished site, so we wanted to write down what actually went into it. The lessons learnt from the 80-25 build served us very well here.
Nigerian Election Petitions (Bullets, Bribes & Ballots) is a public archive of how Nigeria's elections are contested after the votes are counted, the petitions that follow, how the courts handle them, who sits on the bench, and how the Electoral Act itself has changed over time.
There was a working prototype already put together in R and Shiny, what was needed was a public version that people could actually find, read, and share, with room to grow into something richer over time. This meant we had to build in a backend as a foundation we could extend instead of replace. So we went with a proper layer from the start so the owner can manage the datasets and control access to the files themselves.
As with most of these projects, we couldn't afford to wait for the data before starting. The real datasets were arriving in late June, but the launch was set for early July and we needed to build quickly. We generated a dummy dataset in the shape of what would eventually be sent right down to the column names. The idea was that we would be able to swap the files in and re-run instead of rebuilding. Like many well laid plans, this went a bit awry when the real data came in a different shape than we'd mapped. But this is normal, we adapt and we pivot pivot pivot in Ross's words. This required some rewriting and restructuring, but we made it work.
At first the charts were baked in when the site was built, which meant any change made through the admin area wouldn't show up until the whole site was redeployed. That defeats the purpose of an admin area though, so we moved the dashboard to read its data live instead and we were able to do that thanks to trusty supabase, the goat of databases (our opinion).
There is a lot more detail we won't go into, but now Bullets, Bribes & Ballots brings together more than three thousand petition records, the full register of the judges who heard them, a set of analysed cases with their judgments attached, and the tracker showing how the law itself has shifted across five elections. Very proud of the work that went into this one.