Skip to main content

A walkthrough of the real application

One council meeting, from the roster to the certificate.

A district council meeting in 14 screens: the credentials chair’s week before it, the member’s phone during it, and the record that is left the morning after. Every image below is captured from the running application, not drawn.

US$199 per year, per district. No per-voter fees.

What this replaces

A district council meeting today runs on Eventbrite for registration, a spreadsheet for credentials, and ElectionBuddy for the vote — three systems that have no idea the other two exist, reconciled by hand by a volunteer on the weekend before. Red Vote is those three jobs in one record, and it is the record that makes the result defensible when somebody asks.

Scroll sideways to see the whole screen.

Act one

The week before

The credentials chair has to arrive at the meeting with a defensible list of who may vote and how many votes each of them carries. This is the part that costs a volunteer a weekend.

Three meetings, three states

Council and executive meetings on one list, each with the current root of its own audit chain beside it. One is taking registrations, one is live, one is closed and certified.

The Meetings list for District 61. Three district council meetings are stacked in date order: Annual District Council 2027, tagged Registration open; Spring 2026 District Council, tagged Live now; and Fall 2025 District Council, tagged Closed. Each row carries its date and time, eight clubs, fifteen registered members, and a short hash-chain fingerprint on the right.

The DCL, imported

Drop in the District Council List, downloaded from District Central under Reports, District Council Report. Clubs, members, officer positions and DEC membership are read out of it, and you see what it would change on the roster — and what it could not use — before you click Finalize. Nothing reaches the roster until you do. Accented names survive the trip through Excel.

The Import the roster screen before any file has been dropped. An eyebrow above the heading names the meeting — Spring 2026 District Council, pre-meeting — and a line beneath it says the DCL CSV is downloaded from District Central under Reports, District Council Report, that the clubs, members, officer positions and DEC membership are read out of it, and that what it changes on the roster is shown before anything is saved. Most of the page is a large dashed drop zone reading Drop the DCL CSV here, with a quieter line under it offering to browse and naming where the file comes from: District Central, Reports, District Council Report. A narrow panel to the right, headed What we received, is empty — it says that once a CSV is dropped, its name, when it arrived, its fingerprint, and what we found in it appear there.

Who carries how many votes

Two votes per club in good standing, carried by the president and the VP Education; a sole representative carries both; DEC votes are counted separately. The engine proposes, the operator can override, and every override is recorded with the reason typed against it. Where a club is seating fewer than its standing entitles it to, the page names the club and says why — a shortfall its own roster explains is a phone call to make, and one it does not is ours to look at.

The Vote allocations page, whole. A line under the heading says seven registered members carry no votes, all for reasons the rules explain, and offers to show them. Six tiles across read fifteen club votes claimed, two DEC votes claimed, six sole-rep allocations, one operator override, nothing over the cap, and one vote not claimed. Beneath them a panel headed Clubs below their entitlement, grouped under Another registered officer would seat these: Bytown Speakers, in Area 11, seating one of two, with the reason spelled out — its only registered officer, Jocelyne Tremblay, is carrying one vote at other clubs and has reached the limit any one person may carry — and the remedy, that registering another of its officers would seat one vote more. A closing note says the description is of the current allocation and that re-running the engine after a registration change can assign the same officers differently. Then the allocations themselves, with the Members view selected and eleven allocations across eight members counted above the table, under the headings Member, Type, Club, Auto, Override, Final and Flags. Six members carry a full club allocation at one club each and are badged Sole Rep; Margaret Chen's row also shows an operator override, in amber, with the typed reason set under the number — the DCL showed Brockville Bridgebuilders suspended, dues paid 4 June. Robert MacIntyre has a second row for a DEC vote, and Jocelyne Tremblay has three: one club vote at Bytown Speakers, one at Capital Toastmasters and one DEC vote, which is the holding the panel above was explaining. Every row ends in an Override button. Under the table, a note says more columns are hidden and can be reached by scrolling sideways or by focusing the table and using the arrow keys, and an Explain Allocations button closes the page.

Are we legal to proceed?

The quorum arithmetic is shown rather than asserted: the base, the threshold, the count, and the rule they come from. Quorum gets challenged at real meetings, and a chair who can point at the calculation ends the challenge.

A page headed Are we legal to proceed? A dark panel gives the registered seat count as fifteen of twelve, marked Quorum reached, with the working printed underneath: six clubs in good standing times two votes is twelve seated votes, and a one-third threshold makes four. A second panel tracks live presence, at none of twelve votes online right now and marked below threshold, labelled as being for re-certification only in case someone calls for it mid-meeting.

Act two

What a member sees

One link, addressed to them, with no account and no password behind it. The same link seen from the operator's side is the registration board.

One link, no account

The member gets a link addressed to them. They say whether they can attend, confirm where their voting link should go, and can add a second language — registering and voting in French is a real option for a district that needs it. No password, no app, no help desk.

The registration page as a member opens it from the link addressed to them, with an English and Français toggle at the top. It greets Priya by name and explains that her club has chosen her to vote at the Annual District Council 2027 on Thursday, June 10, 2027 at 6:00 PM EDT, and that her voting form goes out by email once registration closes, with the same link sent again shortly before the meeting starts. She is asked whether she is able to attend — Yes, I can attend or No, I cannot attend — either way, because her club needs to know whether its seat is covered. Her email address is filled in already, under a note that the voting link goes there and should be an address she can open at that hour on that day. She is then offered a second language for her messages, with Français the one choice listed. The button reads Confirm my attendance, and beneath it a line repeats that her voting link follows once registration closes and again shortly before the meeting. At the foot, the credentials chair is named — Alice Beaumont — with an address to write to and a promise of a reply within a day.

Who has answered

The operator's side of the same link: two seats per club, who is ready, who is still pending, and who has no email at all. A member without an address is registered by the operator and handed their link another way — reforming districts have those members.

The Registrations page. Four counters read sixteen invited, fifteen attending, none declined, one no reply, beside a button offering to generate the one missing link. Below them a card per club — Bytown Speakers, Rideau Communicators, Gatineau Éloquence, Capital Toastmasters, Kingston Orators, Thousand Islands Speakers, Cornwall Confident Voices, Brockville Bridgebuilders — each showing its two seats with the president and VP Education named and a presence chip reading Offline. Jocelyne Tremblay appears twice, as president of Bytown Speakers and as VP Education of Capital Toastmasters, which is the multi-club officer the split-vote screen later shows. One seat, Yusuf Karim at Brockville Bridgebuilders, is highlighted as No reply.

Seen enough to want a conversation?

Act three

Meeting day

There is no button that starts the meeting. A meeting is live when its start time arrives, which removes the most common way a live vote goes wrong: nobody forgot to press anything.

The operator's control surface

Ballots are built in advance, and the operator opens them one at a time as the chair calls each vote. Draft, open and closed sit in one list, and a test ballot can be run alongside the real ones without ever touching the audit chain. A vote stopped on a point of order, or an item the chair declares adopted by unanimous consent, is recorded as the thing that actually happened rather than forced through a ballot that did not.

The Ballots page during a live meeting. Establish Quorum is marked closed, with buttons to void it on a point of order or to show its results. Approve the 2026-2027 District Budget is marked open, with Close Voting beside the same point-of-order control and a third button offering to record it as adopted by unanimous consent. Election — Club Growth Director is still a draft. Controls above the list offer to extract motions from the agenda, add a test ballot, add standard ballots, or import election ballots from the DLC.

The screen a voter actually uses

One card: the meeting, the motion, how many votes they hold, and three buttons. It is the most-used surface in the product and deliberately the plainest thing in it.

A voter's ballot during the meeting. A card marked LIVE names the Spring 2026 District Council and the voter, Priya Raghunathan, with a line reading Updated just now beside a Check now control, then the motion — Approve the 2026-2027 District Budget — tagged Anonymous vote, with the motion's full wording underneath. A band reads two votes to cast, two club votes, above three full-width buttons: Yes, No, Abstain. Under the card, a link reads Report a problem.

A member who represents more than one club

Someone carrying two club votes — one at each of two clubs — and a DEC vote may hold different instructions from each of them. Here they can split them. The incumbent tool chain forces one answer for all of a member's votes, which is not what the clubs decided.

The same ballot open for Jocelyne Tremblay, who holds three votes. Under her name a line reads Updated just now, beside a Check now control. A highlighted note tells her she represents two clubs and holds one DEC vote on this motion, and may cast a different vote for each. The tally band reads three votes to cast — two club votes plus one DEC vote — and below the Yes, No and Abstain buttons is a link reading Split my vote across allocations. Under the card, a second link reads Report a problem.

The operator's view while a vote is open

Pre-flight checks, the quorum panel and the last few links of the hash chain, on one screen. The figures keep up with the meeting on their own — nobody has to reload the page to see where the vote has got to.

The Live meeting console, headed Live meeting above a line reading No voters online now, with the window it was measured over in brackets — none seen in the last twelve minutes — and a clause explaining that the figure counts voter pages open on this meeting whether or not the voter is looking at the tab, and does not count the console itself. Three phase tabs — pre-meeting, live meeting, post-meeting — with the live one selected, and the last three links of the hash chain shown to the right, the newest highlighted. A card for the open ballot, Approve the 2026-2027 District Budget, is marked Voting Open and tracks participation at eleven of seventeen votes cast, sixty-five per cent, over a filled bar, with the arithmetic spelled out beneath it and a Close Voting button below. A pre-flight panel reads five of six ready: roster imported with sixteen members, fifteen of sixteen voters registered, allocations run at fifteen club votes, fifteen tokens generated, quorum achievable at fifteen of the four needed, and pre-meeting links not yet sent.

What the scrutineer sees

The same meeting, live, with no controls anywhere on the page. Ballot states and counts follow the disclosure mode the operator set for each ballot. The link is labelled and revocable, and it works until seven days after the meeting closes.

The observer's own view, headed Red Vote with an Observer badge, and on the right the label the link was issued under — Scrutineer — Club Growth Director, truncated — beside an English and Français toggle with English selected. A card names the Spring 2026 District Council, District Council on Thursday, June 11, 2026 at 6:00 p.m. EDT at Ottawa City Hall, 110 Laurier Ave W, with a chip reading Status: In session and a second reading Quorum met. Under the heading Ballots are the three ballots with their states: Establish Quorum, ticked, marked Closed and Nobody has voted yet; Approve the 2026-2027 District Budget, marked Motion and Open, moved by Robert MacIntyre and seconded by Grace Adeyemi; and Election — Club Growth Director, marked Election and Not yet open. A line at the foot states that this is a read-only observer view and that nothing on the page can be voted on or changed.

Seen enough to want a conversation?

Act four

After the gavel

Most tools stop when the last ballot closes. The minutes, the certificate and the audit summary are generated from the record of what happened rather than re-typed from it.

Minutes, generated

Opening time, the quorum declaration, each motion with its mover, seconder and result, and the adjournment — assembled from the audit log, and editable if the minutes secretary wants to add the discussion. The closing block names what certified the figures, prints the chain root they can be checked against, and leaves a blank line for the council to sign when it adopts them. Print or save as PDF.

The Meeting Minutes screen for the Fall 2025 District Council, in two panes: the Markdown source on the left, the rendered minutes on the right. A badge at the top right reads English, then Draft (unsaved), and a note beside the controls says the English minutes have never been saved. The text records the meeting type, date, venue and attendance of fifteen — five in person, ten virtual — then that the meeting opened at 17:04 and quorum was established at 17:04 against a threshold of five. Motion 1, approve the 2026-2027 district budget, is recorded as moved by Robert MacIntyre, seconded by Grace Adeyemi, carried thirteen to three with one abstention, and returning eleven ballots. Controls above offer a language, regeneration from the audit log, saving, and print or save as PDF.

The signed certificate

The certificate attests the meeting and prints the SHA-256 root of its audit chain. Any change to any recorded event produces a different root, so an auditor a year later can replay the log and check that it still resolves to the number on the paper.

The Certificate of Proceedings for the Fall 2025 District Council, marked Signed. It certifies the meeting by name, date, type and venue; attests that fifteen members registered and attended, five in person and ten virtually, and that quorum was established against a threshold of five club votes; records the budget motion as carried thirteen to three with one abstention and Chantal Bélanger elected Club Growth Director with nine votes; and states that the complete audit log of the meeting resolves to the SHA-256 hash printed below, so that any change to any recorded event produces a different root.

What an auditor would ask for

Turnout, per-ballot timing with the anomalies already flagged, and every allocation override with its approver and reason. A summary, instead of a five-hundred-line log.

The Audit Analytics page for the Fall 2025 District Council. Four tiles read one hundred per cent turnout on eight of eight eligible, three ballots opened, no timing anomalies, and one override applied by one approver. A ballot timing table lists Establish Quorum at six minutes, the budget motion at five, and the Club Growth Director election at seven, none of them flagged — closes under thirty seconds and opens over an hour are what draw a flag. Below, under Allocation overrides, a chip counts one against the operator's address, and the override itself is listed whole: stamped Dec 11, 2025 at 5:04 p.m. EST, in the district's own zone, against the operator who approved it, with the typed reason beginning — the DCL showed Brockville Bridgebuilders suspended, dues paid 4 June. A note under that table says more columns are hidden and can be reached by scrolling sideways or by focusing the table and using the arrow keys, which is where the rest of the reason is.

Request access

Email vote@taverns.red and tell us:

  • Your district number
  • Your name and your district role — District Director, Program Quality Director, Club Growth Director, or credentials chair
  • The email address you’d like the account under, if different from the one you’re writing from
  • When your next council meeting is, roughly

We reply with an invitation link. Opening it creates your district and starts a 14-day trial.