XML results update the count every 30 seconds. Final-result forecasts run automatically after the first results, then every 10 minutes.
XML feedChecking…
Vote-count estimateChecking…
Published snapshot—
Discord Live Mode
Discord: checking…
Test Mode shows labelled sample figures in the existing message. Live Mode shows the latest real data, or awaits results. This switches Discord and the live broadcast outputs together. Test Mode ends automatically after two minutes.
Automatic projection: checking…
Edits are drafts until published. Existing broadcast outputs update automatically after publishing.
Upload these shaded icons to your Discord server under Server Settings → Emoji, then paste each emoji ID below. Opportunity’s icon is teal. The webhook can display custom emojis but cannot create them on the server.
A sourced model loads automatically: current polling, all ten MMP elections, live count uncertainty, outstanding votes and all 71 electorates. The latest report records its assumptions and sources. You can load and update the baseline below; a manual import is not required to start automatic forecasts.
Polling-place weights and outstanding special votes
A researched baseline covering every current physical venue loads automatically. You can override it with updated venue estimates or a complete per-result-file manifest. Use historical booth turnout, or estimated catchment population × turnout, with advance voting and electorate boundaries accounted for. Include all places, not just those already reporting. Expected special votes remain in the denominator after the preliminary count finishes.
The default estimate is reported national ballots divided by expected ordinary venue volumes plus estimated specials. After the preliminary count completes, its actual ordinary total replaces the ordinary-turnout estimate. The saved sources and matching methods can be viewed below.
Format: {"source":"Source and assumptions", "expectedSpecialVotes":700000, "places":[{"file":"e01/votingplaces/01-01001.xml","expectedVotes":900}]} — these example numbers are illustrative, not configured weights.
Import a complete snapshot
Paste a normalised snapshot to publish count and projection together. Test fixtures are deliberately blocked from live publication.
Election-night recording and playback
New source files are recorded with their arrival times, together with every published count and projection. Playback is separate from live graphics and Discord.
Restoring replaces saved election data and restarts the app. Keep the same Railway credentials to resume editing the existing Discord message. Sign in again after restart.
Recent published snapshots
Admin password comes from Railway’s ADMIN_PASSWORD variable. Forecast updates remain separate from automatic reported-count updates.