Real-time voting between the Android phones already around the table. One phone hosts, the others join over Bluetooth and Wi‑Fi, everyone votes against a shared clock, and the whole room lands on the same result at the same moment.
Coming to Google Play Android 7.0 and up · Google Play services · free, with a one‑time Pro upgrade
Not as a setting you can switch on, but as a fact about how it is built: the INTERNET permission is not in the shipping app at all. There is nowhere for a vote to go except the host's phone, a few metres away.
So it works in a basement, on a plane, in a building whose guest Wi‑Fi nobody has the password for, and in a meeting where nobody wants to hand their email address to another app. An anonymous ballot cannot be leaked, sold or subpoenaed from us, because it never leaves the room and we never have it.
The fastest way for one phone to notice another. This is what fills the roster.
The link upgrades itself mid‑session to Wi‑Fi Direct or a Wi‑Fi hotspot when both phones support it, and stays on Bluetooth when they do not. Range is roughly 10 to 30 metres, depending on the building.
Two panes of one room. The left is the host's phone; the right is a voter's. Step through it, or let it run.
voter → host hello { displayName, voterId }
voter → host vote { pollId, optionIndex, optionIndexes[] }
host → voter state { phase, poll?, remainingMs, voterCount, votesCast,
yourVote, yourVotes[], youHaveVoted }
poll { id, question, options[], durationSeconds,
anonymous, maxChoices }
host → voter ack { accepted, optionIndex, optionIndexes[], reason? }
host → voter results { poll, counts[], voters, votesCast }
host → voter pending { reason } waiting at the door
host → voter nack { reason } turned away, with a reason
host → voter bye { reason }
That is the whole protocol. Compact JSON, straight over the local radio.
The host owns the clock, the roster and the tally; a voter's phone renders
what it is told and originates exactly one message of its own — a vote.
Two answers, written in advance and still yours to reword — Approve / Reject, Agree / Disagree.
A list you write, of which the room chooses exactly one. Two to four answers free, up to eight with Pro.
Each phone marks every answer it supports — approval voting. One ballot per phone, locked once. The tally counts approvals rather than people, so the shares legitimately add up to more than 100%.
One switch, and the poll carries the promise on the wire, so every voter reads it on the ballot they are actually answering rather than taking the host's word for it. The choice is never written next to a name, the running tally stays sealed until voting closes, and the room is reseated the moment voting starts — otherwise position alone would give every blank seat its name back.
Off by default, because a door policy is friction nobody wants for a lunch vote. Switched on, a phone the host has not seen waits for a nod. The decision is about the person, not the round, so an approved phone that drops out walks straight back in — and a phone in the wrong meeting can be removed from the lobby.
Every one of those looks exactly like a disconnect, so the round survives all of them. A phone is known by a durable id rather than by its connection, so someone who walks back in returns to their own seat with their own vote still theirs — never as an extra person with a second vote. Seats are held, not deleted, and one absent phone holds the vote open for 20 seconds before the room stops waiting.
A room can demand a minimum before Start the vote goes live — checked at the call, the way a parliament does it. Once it is running, the host can buy the room another 30 seconds as often as the discussion needs, or close early the moment the answer is obvious. A round also closes itself as soon as everyone has answered.
So by default they get a seat and a ballot like everybody else, reached by tapping instead of by radio. Turn I'm voting too off to chair a vote without taking part. Either way, starting a vote needs at least one other phone — your own seat is not a room.
Every result is kept on the host's phone — outcome, turnout, date, and months later, who voted how. Keep up to twenty questions to reopen; each saved row shows the clock and every switch it will restore before you tap it. Handing the room a CSV for the minutes is the Pro half.
English, German, Dutch, French, Italian, Spanish, Portuguese, Polish, Turkish, Russian, Ukrainian, Croatian and Serbian in both scripts. Each phone picks its own, and the notices that matter — the host ended the session, you were removed, you were not let in — arrive in the reader's language, not the host's.
Sized for a phone lying flat, read at arm's length, by someone who is talking to other people: nothing that carries meaning below 19sp, four type sizes per screen, and light and dark themes with every contrast ratio measured rather than claimed. Colour is never the only channel — seats are seated by what they chose, the legend names it, and every seat speaks its own choice to a screen reader.
Host as many votes as you like, with as many people as the radios can carry, forever, with no counter and no ads. Pro is one payment, once — nothing to renew and nothing to cancel — and your phone remembers it offline, which is where this app is used.
| Free | Pro | |
|---|---|---|
| Votes you can host | Unlimited | Unlimited |
| People in a room | As many as the radios carry | The same |
| Yes / No and Pick one | Yes | Yes |
| Answers per question | 2 to 4 | Up to 8 |
| Clock | Up to 60 seconds | Up to 5 minutes |
| Pick any (approval voting) | — | Yes |
| Anonymous ballot | — | Yes |
| Approve who joins | — | Yes |
| Past votes kept | Yes | Yes |
| Saved questions | 20 | 20 |
| CSV export for the minutes | — | Yes |
| Ads | None | None |
Your display name (which defaults to your phone's model and is yours to change), a random per‑install identifier, and which answer you chose. They go to the host's phone in the room, over the local radio, and no further.
Nothing reaches us, Google, or any server, because there is no server to reach. No account, no email, no analytics in the app, no ads anywhere.
Some of these are physics, some are deliberate, and one is honest about what the anonymous ballot is worth. All of them are better read here than discovered in a meeting.