DIY Election Desk
Use the tidyverse, {targets}, and Quarto to build your own lightning fast, auto-updating election results reporting website!
Resources
Original Idaho sites
- Primary election (May 2024)
- General election (November 2024)
Code
posit::conf(2025)
Other
Overview
This process has two independent moving parts (complete instructions for running each pipeline included in the projects’ respective READMEs):
The
etl-pipeline
project runs every X minutes and is in charge of extracting, transforming, and loading (ETL) the most recent data. With the magic of {targets}, it will only process remote data that has changed since the last time the pipeline ran. The final outputs (maps, results table, and reporting status) are stored remotely in an S3 bucket (though in this example, outputs are stored locally).The
website
project runs every Y minutes and uses {targets} to pull the latest data from the S3 bucket (or here, local data storage for the ETL pipeline). It then re-builds and deploys the Quarto website (this website!) if needed.