How MeshVote Works
Last updated: June 10, 2026
What Is MeshVote?
MeshVote is an app that lets members vote at large in-person gatherings using their phones or Macs. Devices form a wireless network using Bluetooth, passing votes from device to device with no central server or internet connection. It's built for the kinds of decisions organizations make together: elections, motions, amendments, and nominations from the floor.
How Does It Work?
An administrator creates a group; members join by scanning a QR code. The administrator opens a poll with the question and options — including an optional abstain choice. Members tap their choice on their phones. Votes relay across the room via Bluetooth in seconds. The administrator closes the poll; the final tally is locked and distributed to every device. Polls can be prepared in advance or imported in bulk from a spreadsheet.
How Votes Travel Between Devices
Phones communicate directly via Bluetooth — the same technology behind wireless speakers. Each phone is both a sender and a receiver, forming a "mesh network." No Wi-Fi needed. More members means stronger coverage. No single point of failure. For extra range in large venues, a dedicated Android device can run in relay mode — continuously rebroadcasting messages without participating in voting.
Two Transports, One Network
The Bluetooth mesh carries every vote, poll, and chat message in real time between phones in the room. By default, MeshVote also relays events through encrypted cloud storage to speed up propagation and reach segments of isolated devices — Network Sync. Events are end-to-end encrypted with your group's invite key, which we never store. If you'd rather stay fully offline, an admin can create the group with Network Sync off; that group then runs pure BLE. And in groups running Network Sync, Bluetooth Sync can be toggled off and on later from group settings — a group always keeps at least one transport.
Security & Integrity
- Digitally signed votes — each device has a unique cryptographic key. Altered votes are automatically rejected.
- Encrypted cloud relay alongside the mesh — votes always live on members' own devices. By default, an encrypted cloud relay runs in parallel for instant catch-up; admins can create groups with it off for fully offline operation. Events are end-to-end encrypted with your group's invite key, and tamper detection works regardless of transport.
- One vote per device — enforced across the entire network, not just locally.
- Results are final — once a poll closes, the tally is sealed. Late or post-close votes are rejected by timestamp.
- No internet exposure — the system is unreachable by remote attackers.
- Optional geofencing — restrict voting to members physically within a geographic boundary you define.
Transparency & Accountability
Votes are linked to device identities (cryptographic keys, not names) — making every vote verifiable and auditable, similar to a roll-call vote. Results can be exported to spreadsheet, CSV, or JSON for permanent records.
Who Controls What?
Administrators: open and close polls, approve join requests, edit group settings, and use presenter mode to display results on a large screen. Groups can have multiple admins — share an admin invite to add one, and an existing member who scans it is promoted in place. Admins cannot alter votes. Member: votes on polls, participates in group chat, and passively relays others' votes.
How Members Join
Two ways to invite members. One-time invites (default): the administrator opens an invite screen, members scan a QR code, and the admin approves each request. The QR is fresh each session and can be saved to share via email or text message. Best for assemblies that need a credentialed roster. Reusable member invites: a permanent QR code or link you can print on a flyer or show on a projector — and any member of the group can open and share it, not just admins. Anyone in the room can scan and join — either approved by any online admin (not just whoever created the invite), or instantly. Best for casual gatherings, classrooms, and large open assemblies. Reusable invites are available on Rally and Enterprise plans.
Communication During Sessions
MeshVote includes a built-in group chat that travels over the same Bluetooth mesh as votes — no internet or separate messaging app required. Chat is end-to-end encrypted with the group's key. In groups running Network Sync an encrypted copy passes through the relay and is scheduled to expire about an hour after it is sent; in Bluetooth-only groups nothing leaves the room. Messages you have already received stay on your own device until you leave the group or uninstall. Administrators are marked with a badge so members can identify official communications.
Notifications
Every group notifies you. Groups with Network Sync send a push notification to every member the moment a poll opens or a chat message arrives — even when the app is closed — encrypted end-to-end with your group's invite key, so our servers can't read them. Bluetooth-only groups show a notification banner on your device the moment a new poll or message arrives over Bluetooth — no server involved, nothing leaves the room. Either way, you can mute any group individually.
What You Need
Smartphones or Macs with Bluetooth, the MeshVote app installed, one admin device, and a QR code to share. No Wi-Fi, special hardware, or accounts required.
Frequently Asked Questions
- Can someone vote twice? No — one vote per device per poll, network-wide.
- Phone dies? Earlier votes already relayed and counted.
- Change results after close? Impossible — cryptographically sealed.
- Large venue? Yes — designed for thousands; the mesh scales with attendance. For multi-room venues or large halls with Bluetooth coverage gaps, Network Sync (on by default) adds an encrypted cloud relay alongside the mesh for extra resilience.
- Cloud storage? By default, every group runs Network Sync — votes propagate over Bluetooth and through encrypted cloud storage in parallel, so late joiners catch up instantly and isolated segments stay in sync. Events are end-to-end encrypted with your group's invite key, which we never store. Admins who'd rather stay fully offline can create groups with Network Sync off; that group then runs pure BLE and nothing leaves the room.
- Group chat? Yes — built-in Bluetooth mesh chat for real-time coordination during sessions.
- Notifications? Yes — every group. Network Sync groups get an end-to-end-encrypted push when a poll opens or a chat message arrives; Bluetooth-only groups show an on-device banner the moment it arrives over Bluetooth.
- Announcements? Yes — admins can set a standing group announcement; members see it once each time it's updated. Works in every group, including Bluetooth-only ones.
- Geofencing? Optional — define a geographic boundary to ensure only physically present members can vote.
- Can members abstain? Yes — polls can include an abstain option.
What Is MeshVote?
MeshVote is a mobile voting application designed for large in-person gatherings like conferences, assemblies, and conventions. Members vote on their own smartphones, and results appear in real time — no paper ballots to count, no show of hands to estimate, and no internet connection required.
The app works by forming a wireless network between the phones in the room using Bluetooth. When a member casts a vote, it passes from phone to phone until every device in the venue has received it. There is no central server collecting votes — the assembly itself is the network.
How Does It Work?
1. Setup. Before the assembly convenes, an administrator creates a group in MeshVote. Polls can be prepared in advance individually, or imported in bulk from an Excel spreadsheet. Members join by scanning a QR code displayed on a screen or printed handout.
2. A motion comes to the floor. When the body is ready to vote — say, on a motion to approve a committee report — the administrator creates a poll in the app with the question and options (e.g., "Approve" / "Do Not Approve"). An abstain option can be included if your rules of order call for it.
3. The poll opens. The administrator opens the poll, and it appears on every member's phone within seconds. Members tap their choice.
4. Votes spread through the room. Each vote travels from phone to phone via Bluetooth. Even members seated far from the administrator receive the poll and can cast their vote — other phones in between relay the information automatically.
5. The poll closes. When voting is complete, the administrator taps "Close Poll." The final tally is calculated, locked, and distributed to every device. The result is official.
6. The body moves on. The next motion, election, or question is handled the same way. Pending polls can be prepared in advance and opened when the time comes.
For elections — say, choosing a new chairperson — the administrator lists the nominees as options. If your rules allow nominations from the floor, MeshVote supports write-in votes as well.
How Votes Travel Between Devices
MeshVote uses Bluetooth — the same technology that connects your phone to a wireless speaker or car stereo — to create a temporary network among the devices in the room.
Every phone running the app acts as both a sender and a receiver. When a member casts a vote, their phone passes it to the nearby phones it can reach. Those phones, in turn, pass it along to their neighbors. Within moments, the vote has traveled across the entire venue, hopping from device to device like a message passed down a row of seats.
- No Wi-Fi or internet is needed. The assembly's own phones form the network.
- The network grows with the assembly. More members means more devices relaying information, which actually strengthens coverage in a large venue.
- There is no single point of failure. If any one phone is turned off or loses battery, the rest of the network continues without interruption.
The system is designed to handle assemblies of thousands. Votes propagate efficiently — the app uses a smart relay protocol that avoids flooding the network with duplicate messages while ensuring every device receives every vote.
For very large venues or spaces with gaps in seating, MeshVote supports a dedicated relay mode. An Android device placed between clusters of members can run as a continuous relay — rebroadcasting every message it receives without participating in voting. This extends the effective range of the mesh to cover auditoriums, convention halls, or multi-room setups.
Two Transports, One Network
Every group runs on the BLE mesh: phones broadcast signed snapshots and individual vote envelopes that propagate via gossip. By default, MeshVote also relays events through encrypted cloud storage in parallel — Network Sync.
Both transports race to update each device's local copy. Whichever message arrives first is applied; per-field hybrid logical clocks keep concurrent edits consistent. The cloud relay gives late joiners instant catch-up and a fallback path for segments of devices that can't reach each other over Bluetooth. Network Sync is set when the group is created — once chosen, that setting can't be changed for that group, so admins decide upfront whether the group needs cloud catch-up or fully offline operation. Bluetooth Sync is more flexible: in groups running Network Sync, admins can switch the Bluetooth transport off or back on at any time, and the app enforces that a group always keeps at least one transport.
Either way, votes are end-to-end Ed25519-signed and tamper-evident — the transport doesn't change the security model. Cloud-stored polls, ballots and chat are encrypted with the group's invite key, which we never store, so their contents are unreadable to us. A vote's document name is a keyed hash rather than a voter's key, which keeps voter identity out of our storage paths and vote-processing logs — it is not secrecy from other members, who all hold the group key.
Security & Integrity
Every vote is digitally signed
When MeshVote is first installed on a phone, it generates a unique cryptographic key — think of it as a wax seal that only that device can produce. Every vote cast from that phone is stamped with this seal before it is sent out. When other devices receive the vote, they verify the seal automatically. If a vote has been altered in transit — even by a single character — the seal will not match, and the vote is rejected.
Encrypted cloud relay, end-to-end keys
Votes always live on the phones of members in the room — distributed across the assembly, not concentrated in one place. By default, MeshVote also relays events through encrypted cloud storage so members joining mid-session catch up instantly. Poll questions, ballots and chat are end-to-end encrypted with your group's invite key, which we never store — we cannot read their contents. The relay does handle the surrounding record: which device cast a ballot in which poll, and when. For assemblies that prefer maximum isolation, admins can create groups with Network Sync off — those groups run pure BLE.
One vote per device, enforced automatically
The system allows exactly one vote per device on each poll. If a member changes their mind before the poll closes, their new vote replaces the old one — it does not add a second. This is enforced at every device that receives the vote, not just the device that cast it.
Results are final once the poll closes
When the administrator closes a poll, the final tally is calculated, sealed, and distributed to every device in the room. After that moment, no new votes for that poll are accepted. Late-arriving votes that were cast after the close are automatically rejected based on their timestamp. The result is locked.
Minimal remote attack surface
Groups created with Network Sync off have no remote attack surface at all — the entire voting process happens over short-range Bluetooth with no internet connection. Default-mode groups use the encrypted cloud relay: it carries the encrypted contents but never the key that opens them, so it cannot read a question, a ballot or a chat message, and it cannot forge a signature. Admins choose at group creation.
Optional geographic boundary enforcement
For assemblies that require physical presence verification, MeshVote supports geofencing. The administrator defines a geographic boundary on an interactive map, and the system enforces it at voting time — a member outside the boundary cannot cast a vote. This ensures that only credentialed members physically present at the assembly can participate.
Transparency & Accountability
MeshVote is designed around a principle of accountability: every vote can be traced back to the device that cast it.
Each device has a unique cryptographic identity — not a person's name, but a verifiable key that proves "this specific device cast this specific vote."
- Votes are verifiable. If a question arises about whether a vote was properly counted, the record can be audited. Every vote carries its device's signature and timestamp.
- Votes are tamper-evident. Any attempt to alter, add, or remove votes after the fact would break the cryptographic chain and be immediately detectable.
- The tally is reproducible. Any device in the room can independently verify the final count by examining the signed votes it received.
- Results are exportable. Polls can be exported to plaintext, CSV, JSON, or Excel for permanent records, minutes, and external audits.
This is similar in spirit to a roll-call vote, where each member's position is a matter of record. For many organizations, this level of transparency is a feature — it ensures that members are accountable to the groups they represent for the positions they take.
Who Controls What?
Administrator
The administrator is the person responsible for managing the voting process — typically a designated organizer, secretary, or chairperson — and a group can have more than one. Admins prepare and open polls when the body is ready to vote, close polls when voting is complete, and approve or deny member join requests if your organization uses credentialing; any online admin can approve, and any admin can edit the group's settings — name, icon, announcement, features, and geofence. Admins can post a standing announcement that members see once per update, and in groups with Network Sync they get a live device roster — every admin and member device in the group — plus live turnout percentages on every poll. To add an admin, share an admin invite: an existing member who scans it is promoted in place. The administrator can also use presentation mode on a projector or large screen: every open poll appears at once in a live grid, each tile with its own ballot, running chart and vote total, and any tile can be focused full-screen or closed on the spot. A prepared agenda can be opened or closed in one action, and when a poll closes admins can add ballots counted by hand to the final result. Admins have no special ability to alter votes or manipulate results — the role is procedural, not privileged.
Member
Every member who joins the group is a member. Members cast votes on open polls, see results after a poll is closed, participate in group chat, and passively relay votes from other devices (this happens automatically — no action needed). When the group uses reusable invites, members can open and share the group's invite QR themselves — handy when the person at the door isn't an admin. A member's phone continues to relay votes even if the member has already voted, ensuring coverage across the venue. And an existing member can become an administrator by scanning an admin invite — they're promoted in place, no rejoin required.
How Members Join
MeshVote supports two distinct join workflows. Admins choose per group — at creation or later in group settings — with reusable invites available on Rally and Enterprise plans.
One-time invite
The administrator generates a fresh QR code with an embedded nonce; members scan and the admin approves or denies each request. The QR can be saved to share via email or text message. The QR code expires when the admin closes the invite screen. Best for assemblies that need a credentialed roster.
Reusable member invite
A permanent QR code that anyone can scan — and that any member of the group can open and share from their own device, not just admins. Two sub-modes: approval-required (Rally tier — each request is approved by whichever group admin is online, not just the invite's creator, and the approval is signed with the group admin key so the joiner can verify it) and instant (Enterprise tier — members join immediately, no approval needed). The QR code embeds the group metadata so joiners can bootstrap fully offline.
Both modes use the same end-to-end cryptography: the group's signing key is exchanged via the QR code, and member devices generate their own Ed25519 identity on first join. Join approvals and rejections are themselves signed with the group admin key, so a response can't be forged by a bystander. No password, no central credential server.
Communication During Sessions
MeshVote includes a built-in group chat that uses the same Bluetooth mesh network as votes. Messages travel from device to device with no internet connection and no server storage — they exist only on the devices in the room during the session.
Administrator messages are visually distinguished with a badge, so members can easily identify official communications. The group administrator can optionally require registration to participate in chat, providing an additional layer of accountability while keeping voting open to all.
Notifications
When a group runs with Network Sync, MeshVote sends a push notification to every member the moment a poll opens or a chat message is sent. The notification carries the encrypted poll question or chat preview, which the app decrypts on-device using your group's invite key — the plaintext never touches our servers.
Tapping a notification opens the relevant poll sheet or chat view. The server deduplicates by sender so you don't get notified for your own activity, and group mute settings are respected. Fully offline groups (Network Sync off) never reach our infrastructure — so instead of server push, the app raises the notification locally the moment a new poll or chat message arrives over Bluetooth. The same per-group mute applies, you're never notified twice when both transports deliver the same event, and banners are suppressed for the group you're actively viewing.
What You Need
- Devices with Bluetooth. Each member needs a phone (iPhone or Android) or Mac with Bluetooth turned on. No special hardware is required.
- The MeshVote app installed. Members download the app before the assembly. It can be installed on-site as well — no internet is needed after installation.
- One administrator device. The designated administrator uses the app to create and manage the group and polls.
- A way to share the group invite. Typically a QR code displayed on a large screen or printed on handouts. Members scan the code to join.
No Wi-Fi, no internet connection, no projector system, and no special venue infrastructure is required. If your members have phones and Bluetooth, you are ready.
Frequently Asked Questions
Can someone vote twice?
No. The system enforces one vote per device per poll. If a member taps a different option, their previous vote is replaced — not duplicated. This rule is enforced by every device in the mesh, not just the one casting the vote.
What if someone's phone dies mid-vote?
Any votes they cast before the phone died have already been relayed to other devices in the room. Those votes are counted normally. The member simply will not be able to vote on subsequent polls unless their phone is restored.
Can votes be changed or deleted after a poll closes?
No. Every vote is cryptographically signed with a timestamp. Once a poll is closed, the final tally is sealed and distributed. Votes that arrive with timestamps after the close are automatically rejected. The result cannot be retroactively altered.
Does this work in a large venue?
Yes. MeshVote is designed for assemblies of thousands. In a large venue, the phones of members seated throughout the space act as relays, extending coverage automatically. More people actually means better coverage — the mesh strengthens as it grows. For multi-room venues, large halls with Bluetooth coverage gaps, or assemblies where members trickle in over the course of the meeting, Network Sync (on by default) adds an encrypted cloud relay alongside the Bluetooth mesh so every device stays in sync.
Is our voting data stored in the cloud?
It depends on the group's setting. Network Sync (default): votes propagate over both Bluetooth and encrypted cloud storage in parallel. Members joining mid-session catch up instantly and isolated segments stay in sync. Network Sync off: the group runs pure BLE — votes never leave the room and no server holds them. The Network Sync setting is chosen at group creation and can't be changed later, so admins decide upfront based on the assembly's privacy needs — though in groups running Network Sync, Bluetooth Sync can be toggled off or on afterwards. In both modes, every vote is end-to-end Ed25519-signed, a vote's document name in the cloud copy is a keyed hash rather than a voter's key, and events are encrypted with your group's invite key — which we never store.
What if the administrator's phone dies?
Votes that have already been cast continue to propagate normally. Polls can be opened and closed from any admin device, and any online admin can approve join requests — so groups with more than one admin keep running without interruption. We recommend adding a second admin: share an admin invite, and an existing member who scans it is promoted in place. If your group has a single administrator, it is wise to ensure their phone is fully charged and, if possible, plugged in during the session.
Do members need to create accounts?
No. Members simply install the app and scan the QR code to join. No email address, login, or personal information is required to participate in voting. With Network Sync enabled, your device authenticates anonymously to the cloud relay — you still don't sign up for anything.
Can this be used alongside our existing procedures?
Absolutely. MeshVote is designed to complement your rules of order, not replace them. The chair still recognizes motions, the administrator still manages the process, and the body still follows its established procedures. MeshVote simply replaces the mechanics of counting hands or paper ballots with a faster, more accurate method.
Is there a way to communicate during the session?
Yes. MeshVote includes a built-in group chat that travels over the same Bluetooth mesh as votes, end-to-end encrypted with the group's key. In groups running Network Sync an encrypted copy passes through the relay and is scheduled to expire about an hour after it is sent; in Bluetooth-only groups nothing leaves the room. Messages you have already received stay on your own device until you leave the group or uninstall. Administrator messages are marked with a badge so members can identify official communications. The group administrator can optionally require registration to participate in chat.
Do members get notified when a poll opens?
Yes — in every group. On groups with Network Sync, the server pushes an encrypted notification that the app decrypts on-device, even when the app is closed. Bluetooth-only groups never reach our servers, so the app instead raises a banner locally the moment the poll or message arrives over Bluetooth. Tapping either kind opens the poll, and per-group mute applies to both.
Can admins post announcements?
Yes. Any admin can set a standing announcement in group settings — meeting logistics, voting instructions, a link to the bylaws. Members see it once when they next open the group, and again whenever it's updated. Announcements travel over both transports, so they work in Bluetooth-only groups too. Editing is admin-only.
What is geofencing?
Geofencing is an optional feature that restricts voting to members within a geographic boundary. The administrator draws a polygon on an interactive map to define the boundary. At voting time, the app checks the member's location — if they are outside the boundary, their vote is not accepted. This is useful for assemblies that require physical presence.
Can members abstain from a vote?
Yes. When creating a poll, the administrator can enable an abstain option. Members who wish to abstain can select it just like any other choice. Abstentions are counted and displayed in the final tally.
Can poll results be exported?
Yes. Results can be exported to plaintext, CSV, JSON, or Excel format. This is useful for meeting minutes, official records, and external audits.