Voting guide
Current voter flow
The current voter-facing flow is designed to be simple:
- enter or submit the assigned voting token
- open the election tied to that token
- review the election title, timing, and candidates
- make the ballot selection for the configured election type
- confirm the ballot
- submit the vote
- see the success screen
Ballot behavior by election type
Single choice
- choose one candidate
- only one selection is allowed
Binary choice
- choose one of two options
- this is commonly used for yes/no or two-option decisions
Approval voting
- choose all candidates you approve of
- several selections are allowed
Limited vote
- choose up to the configured maximum number of candidates
- the UI should prevent extra selections and the backend validates them again
Borda count
- rank the candidates in order
- the final result is based on points, not only raw vote totals
Confirm step
The confirm step exists so voters can review the ballot before final submission.
This is especially important for:
- limited-vote elections where too many or too few selections may matter
- Borda-count elections where the order of candidates changes the final score
Planned future voter documentation
Later documentation can add:
- screenshots of each step
- examples for each election type
- accessibility and classroom usage guidance
- instructions for first-time voters