Digital Ballot

2026 · Concept

Know who is on the ballot before you are standing in the booth

AstroTypeScriptMarkdownStatic hosting

The problem

Turnout at municipal elections is low, and one reason people give is simply not knowing who is standing. The information exists, but it is spread across party sites of wildly varying quality, PDFs on municipal servers and printed notices. Meanwhile the commercial 'voting advice' sites that fill the gap are opaque about their funding and enthusiastic about tracking. An election information tool that harvests visitor behaviour is a bad answer to a real problem.

Architecture

Ballot-paper layout as the organising principle

Candidates are rendered in the order and grouping of the official ballot, not sorted by relevance or by anything a ranking algorithm decided. The point is recognition: the layout you studied is the layout you see in the booth. This also removes the editorial judgement call of what to put first, which is exactly the kind of judgement an election tool should not be making.

Content as plain files, no database

Each election is a set of Markdown and structured data files in a repository. Every change is a commit with an author and a timestamp, so the edit history of what a candidate page said is public by construction. There is no admin panel to compromise and no database to leak.

Statically generated, no runtime

The site builds to plain HTML. On election day, when traffic is concentrated into a few hours, there is no application server to fall over — only files on a CDN. It also means the whole site can be archived after the election as a straightforward snapshot.

No tracking, by construction

No analytics, no cookies, no embedded fonts or third-party scripts. Which candidate a visitor spent time reading about is data that should not exist in the first place; the most reliable way to protect it is not to collect it.

Decisions

Static site over a web applicationBuild-time rendering, no backend
Candidate data changes on the scale of weeks, while traffic spikes on the scale of hours. That ratio argues for pre-rendering everything, and it removes an entire category of election-day failure.
Public repository as the source of truthGit-backed content, open history
An election information site has to be able to answer 'who changed this and when'. A repository answers that for free; a CMS database does not.
No candidate scoring or matching quizPresent, do not rank
A matching algorithm smuggles in the author's weighting of which issues matter. Presenting candidates in ballot order keeps that decision with the voter.

The concept is documented and the data model is drafted; no public prototype is deployed yet. This page will carry the demo link once one exists.

What this is not

This is not electronic voting. Nothing is cast, counted or transmitted here — the ballot stays paper, in a booth, exactly as it is. Digital Ballot only addresses the step before that: knowing who the names belong to. Conflating the two is how well-meaning election projects end up arguing about verifiability when the actual problem was that nobody could find out who was standing.

All projects