SO VOTE
consensus that scales
An open-source decision-making platform built on a simple belief:
giving people a direct, meaningful voice in decisions that affect them reduces conflict, improves coordination, and leads to better outcomes.
Not just voting on outcomes — but shaping how decisions themselves are made.
One person, one vote
8 billion lives.
Binary polls and one-off votes don’t scale to real human complexity.
Large groups need ways to express nuance, surface disagreement, adapt over time, and still move forward together.
Solve small-group consensus first
Learn, adapt, and repeat.
Focus on building a general system for collective decision-making that works in small groups such as:
Then scale to larger, more complex communities.
Consensus not unanimity
Here, consensus is a state where:
Consensus is maintained, not locked in.
Decisions can evolve as the group evolves.
Core Requirements
The qualities we need in the system to meet the challenge
A Solution
So Vote models decisions as living objects that groups can propose, shape, challenge, and refine over time.
Instead of voting once on a fixed question, participants interact with shared subjects that evolve through structured input.
How It Works
The Cast
Building blocks that combine to produce a flexible and scalable voting platform.
The Subject
The core unit of decision-making.
A subject represents something to be decided - a proposal, rule, value, or outcome.
Its behavior is defined by its subject type. (see here for an initial list of subject types)
Subjects can feed into one another - for example, one subject defining the engagement threshold for another.
The User
An individual participant whose identity is verified by the host or wider community.
The Group
A purpose-oriented container for users and the subjects they collectively decide.
Subjects can be shared between groups allowing specialist groups to provide artifacts for other groups to make use of.
A group known for specialising in inclusive behavioural standards could agree on a code-of-conduct (CoC) which is then adopted by another group.
Updates to the CoC automatically propagate to the adopting group.
That group can choose, at any time, to change the source of their CoC or they may decide to adopt a custom standard internally.
Groups can also be hosted and managed by different organisations while still being connected; a pattern known as "federation".
This maintains some of the ease-of-use qualities of a centralised system while offering organisations full autonomy (and responsibility)
The Vote
A user’s input on a subject.
The form of a vote depends on the subject type.
Votes are positive expressions of intent or preference. Objections are covered below by Rejections.
Rejection
A universal safeguard.
Any subject - regardless of type - can be rejected by a simple majority.
A rejected subject is marked illegitimate and becomes inactive.
Authors of a rejected subject can simply create a new subject in a form that has wider appeal
No rule is above the group (except this one).
Association
A relationship between subjects.
Associations allow subjects to influence or reference one another.
What an association means depends on the subject types involved.
Influence Example:
Reference Examples:
Subject Types
These are the building blocks that all decisions are made out of.
They can be used individually or composed by other subject types to represent more complex outcomes.
Each subject type will have distinct criteria, result behaviour and vote input format, though, many will share characteristics (e.g. all subject types will have an engagement threshold parameter)
Subject parameters can either be set to specific values when the subject is created or derive their values from the result of other Subjects.
Text
A free text subject.
Users can make their own suggestion or up-vote someone else's.
Number
A subject for reaching consensus around a number.
Binary
The simplest type of subject; producing a yes/no result.
Conflict
Represents a conflict between two or more subjects.
Once a conflict has been accepted by the community, they may or may not choose to take action such as de-activating or changing the value of subjects.
Shape
Represents the shape and parameters of an entity. For example a group name would be a text subject with between 1 and 200 characters.
List
An ordered list of entities. Users can set their order preference of existing items as well as adding new items themselves
Comment
A comment associated with another subject.
Constructs
While the platform is unopinionated, it's useful to examine the types of structures communities could build to inform the underlying design.
A set of subject categories:
A set of high level values agreed by the community.
E.g. "We believe every life has equal value."
These values guide more concrete group decisions and activities and provide a wide problem-space from which communities can find solutions that meet the needs of all.
A collection of authoritative, objective information accepted by the community.
E.g. Academic research, photographic evidence, news reports, etc...
Ideas proposed by the community off the back of accepted information
Ongoing agreements within the community.
E.g. The chair person, code of conduct, market strategy, etc...
Short lived and well defined activities executed within the context of one or more policies.
E.g. as part of our marketing strategy, deploy a Facebook ads campaign to increase awareness.
Where are we now and where are we going?
Landing Page and Manifesto
Feb 2026Set out the mission and obtain initial input from interested parties. Locate and onboard team-members.
Minimal prototype
Mid 2026Working version that can be used to demo to potential users
Dogfooding
Late 2026Use the platform to organise the development of the platform. See term explanation.
Deployment with test partners
Early 2027Onboard test partners to start gaining real-world feedback
Cryptographic safety
Late 2027Introduce tamper proofing measures
Cloud provider detachment
Early 2028Generalise so the platform can be deployed in a variety of environments: Multi-cloud, on-prem, home.
Get Involved!
Register for updates:
Apply to join the development group: