Quick stats
- Loading…
Field canvass platform
Enter the 6-digit code from your authenticator app.
Super admin accounts require an authenticator app before sign-in.
Loading…
Empower Guyana · Field canvass platform · Election 2026
★ APNU · CAMPAIGN 2026 · DASHBOARD
80 local councils · 70 NDCs + 10 municipalities · 773,165 voters · one playbook
The numbers that anchor the campaign · refreshed on every open
10 regions colored by 2025 winner · hover for stats · click to drill in
Loading map preview…
The three sub-views of the campaign command center
Specs · demo prep · handouts · admin tools
★ CAMPAIGN 2026 · TARGETS
2023 LGE result is our starting line — where are we now?
Counted from the 2023 LGE winner share · click a tile to filter the target list
Loading 2023 baseline…
2023 was contested AND current contact rate is below national average
Computing…
"Opportunity" = LAAs where 2023 winner-share was < 60% (contested or tight) and current canvass contact rate is below the national average. Click any row to open it in Region Explorer.
★ CAMPAIGN 2026 · FOCUS AREAS
Strategic priorities · the largest LAAs · the regional distribution of work
Picked from the data — refreshed each open
Loading…
Click any row to open its region in Region Explorer
Loading…
Distribution across the 10 administrative regions
Loading…
★ CAMPAIGN 2026 · MILESTONES
Past in green · upcoming in gold · recent platform activity below
The dates that anchor the work · 11 markers from pre-flight through election day
Loading…
What's happened lately · crosswalk batches + admin edits
Empower Guyana · Field canvass platform · Pilot v1
Loading…
All 10 administrative regions by registered voters in scope
All voters in scope, top 10 categories
Voters per address bucket
Region-level result from GECOM-published declarations · all 10 regions
—
Field pulse loading in background…
Pick a region to see voter / occupation / household / 2025-result breakdowns scoped to it.
—
Largest 8 by voter count
Current canvass status
Top 10 categories in this region
Voters per address bucket
From GECOM-published declarations
Per-LAA roll-up · winners · party totals · source: GECOM Form 31
Loading LGE 2023 data…
NDCs & municipalities. Voter counts populate once the voter → LAA crosswalk is run (Admin → Campaign config → LAA crosswalk).
Pick one of 80 Local Authority Areas to drill into voters, divisions, its 2023 LGE result, and elected councillors.
Loading 80 LAAs…
—
Winner · party share · seats allocated
Loading 2023 result…
Per-constituency winners with votes, voting %, and margin
Loading councillors…
Click any division to open it in the Canvass Sheet
Loading divisions…
All 10 administrative regions · click any region for a deep dive. Use Pop out ↗ for the full GIS viewer (NDCs, constituencies, villages).
Loading map…
Flat rollups of voters / contact rate / priority per region · local authority · division. Sortable, filterable, downloadable.
Pick a level then click Reload.
Call one voter at a time. Big buttons advance you automatically. Voters without phones are skipped.
Pick filters then tap Start.
—
📞 —You've worked through every callable voter in this filter. Change the filter or district and start again.
Tap a region to see its divisions. Numbers show voter counts in your scope.
—
Live turnout tallies, open incidents, and GOTV counts for your district (GOTV / election day).
Ride requests, supporters, and voted flags from canvass data (GOTV / election day only).
Triage voter issues without exporting the master list (GOTV / election day).
Station-level turnout tallies for accredited poll watchers (GOTV / election day only).
Report delays, intimidation, or logistics issues at polling stations (GOTV / election day phases only).
Roster of canvassers, team leads, and managers across districts.
Door / phone scripts assigned by campaign managers.
Canvassers with no sync in 48+ hours (configurable). Stale alerts email district managers via npm run notify:field-stale.
You don't have permission to view field health.
All exports are logged (anti-espionage). Reason required (20+ chars).
Summary of logins, contacts, and exports for your scope.
Supervisors: upload a canvass-queue-*.json file from a canvasser device (⤓ export).
Find any LAA, region, division, LGE2023 result, or user. (Voters: use the voter search.)
Load an updated official voter list (e.g. a fresh GECOM extract) and reconcile it against the current roll. Matched records whose details changed update the official layer — with a full audit trail and one-click rollback. Voters missing from the new list are flagged for Deadwood review, and brand-new entries are reported (bulk new-voter ingestion runs on the production database).
CSV header: record_key, full_name, district, division_number, address, occupation, national_id — or a JSON array of objects with the same fields. full_name, district and division_number are required; the rest are optional. Keep field values free of commas (or use the JSON option). National IDs are used only to match — never stored in plaintext.
Nothing is changed yet — this only compares the file against the current roll.
Flag many voters at once (e.g. mark a batch deceased / moved / removed). Paste voter_uids.
Voters flagged moved / deceased / disputed, or dropped from a list — review and remove from the official roll.
Find same-name voters in the same division and merge into a canonical record (campaign data redirected).
Reconciliation applies — roll back an applied import in-window.
Compare any two list versions (who's only in one, who's in both).
Every national-ID reveal / export / doorstep verify — who, when, and why.
Build a targeting list from vote history — official turnout or self-reported intent (self-reported is never treated as fact).
Manage the voter tag list (party member, volunteer, has sign…). New tags need no schema change. Sensitive tags carry extra access controls.
Apply a tag to many voters at once — by district + lifecycle, or a pasted list of voter IDs. Preview the count before applying.
Find voters by tag — optionally scoped by value, district, or lifecycle.
Counts of a tag by geography (district / division / LAA).
Apply a tag from a roster — one reference per line (voter ID, record key, or national ID; optionally "ref,value"). Matched deterministically; unmatched rows are reported, not guessed.
Export everyone carrying a tag (with address + map coords) — e.g. a yard-sign delivery run. Reason required; audited.
Parties for upcoming + historical elections. "Ours" marks our party.
People who run — reusable across elections.
Create an election, auto-seed contests from geography, then assign candidacies. "Our slate" surfaces our party.
National-push, area, issue briefs, and speaking-point cards. Draft → publish.
Per-LAA snapshot — stats, result, divisions, team, data quality, activity. Deep-link with ?laa=laa-016.
Read-mostly pauses non-critical admin writes (messaging, catalog, bulk, imports) under surge — field canvass, results entry, and auth stay live. National-admin only.
Bulk-edit the campaign layer (reversible, one undoable batch), view edit history, and the weekly change digest. Large edits require MFA.
Pick an area to manage. Each card opens its own focused page (also available in the sidebar).
Grant trusted managers admin_users to create accounts (audited). Campaign managers cannot create users by default.
Revoke lost phones or force re-login after offboarding.
Custom templates for the Canvass Sheet's 🖨 Print sheet. The three built-ins (Door, Phone, GOTV) always appear in the dropdown — your custom templates are added after them.
GOTV transport partners — assign when scheduling rides on the E-day tab.
Placeholders: {{email}}, {{export_id}}, {{timestamp}} (super admin).
Controls banners and export rules (election day = super admin exports only).
Map voters to LAAs. Preview: super manager+. Commit: super admin only.
Published script appears on every voter sheet and in offline turf packs. Issue variants show when matching tags are selected.
SMTP, SMS, hotline CRM webhook, and database mode (super admin).
Every polling division and its current Local Authority Area assignment. Click a row's Edit button to reassign the division (and all its voters) to a different LAA in the same region. Every change is logged with a required reason and is reversible from the audit trail.
| R | Division | Voters | Current LAA | Source | Conf | Actions |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Each entry is one crosswalk batch — auto-derivation pass or admin edit. Full audit trail · reversible from the snapshots table.
LGE 2023 parsed results. Confidence is computed from integrity checks — whether each LAA's vote, seat and ballot numbers reconcile. Flagged rows don't add up and need a human look.
Loading…
All voter/data exports with actor, reason, row counts, and risk flags (super admin only).
Searchable security and operations trail (super admin only). Retention: 24+ months.
Without SMTP: writes to output/notifications/outbox/