Code, Open-Source Tools & Architecture
Two-Arm Monorepo Architecture (`gl-web`)
The rejuvenated geekLections platform operates as a unified two-arm monorepo:
- Arm 1 — Python Data & Bayesian Modelling Pipeline (
pipeline/): Managed viauvandpyproject.toml, utilizing PyMC v5, PyTensor, ArviZ, and DuckDB/Parquet. Large raw AEC polling-booth CSVs, SA1 redistribution concordances, and MCMC posteriors are stored in an external cloud-synced folder (GL_DATA_DIR), while compact JSON summaries stamped with SHA-256_provenancemanifests are emitted intostatic/data/. - Arm 2 — SvelteKit 2 + Svelte 5 Runes + Bootstrap 5 Static Website (
src/): Prerendered via@sveltejs/adapter-staticfor zero-server deployment on Cloudflare Pages at geeklections.au, preserving the classicblog.geeklections.com.audark charcoal theme and hosting both frozen legacy websites under/historic/blog/and/historic/www/.
Open-Source Repositories on GitHub
- github.com/geeklections — Organization home for Australian federal, state, and student election scripts, hexagonal cartograms, and preference allocators.
- Australian Senate Group Voting Ticket (GVT) & STV Simulator (2013–2016): Python scripts used to simulate the 2013 Federal Senate counts, the 2014 WA Senate re-election, and the 2016 Double Dissolution Senate counts.
- Tactical Below-The-Line (BTL) Preference Generator (2016–2025): Data pipelines and candidate political-compass matrices for Federal and NSW Legislative Council elections.
Historic Archive Snapshot: Originally published on
www.geeklections.com.au.