πŸͺ Lanren Toolkit

πŸ—³οΈ Quick Poll / Vote Tool

Two honest, workable ways to run a vote: manual on-the-spot tallying by a host, with automatic percentages and a bar chart; or generate a share link so people can each vote on their own device, then send back a "reply code" for you to manually aggregate. This tool has no backend server, so it will not pretend it can do real-time multi-device vote syncing β€” every mode below clearly explains how it actually works and what its limits are.

Ad・Leaderboard 728Γ—90
Ad・Rectangle 336Γ—280

πŸ“– How to Use

  1. First choose a Voting Mode: "πŸ–οΈ Manual On-the-Spot Tally" or "πŸ”— Share a Vote Link."
  2. Manual tally mode: fill in a poll topic (optional) and at least 2 option names, then click "Start Tallying" to enter the tally screen. Every time you see a vote in the room (a raised hand or a spoken answer), click that option's card β€” it instantly shows the count, percentage, and bar chart, with a "πŸ† Currently Leading" badge on the top option; misclicks can be corrected with "βž– Adjust -1" on the card.
  3. Share vote link mode: fill in a poll question and options, click "πŸ”— Generate Share Link," and send the resulting link to whoever you want to vote (DM or group chat both work).
  4. When they open the link, they'll see the question and option buttons; after picking one, the page displays a "reply code" β€” ask them to copy it and send it back to you.
  5. Once you've collected everyone's reply codes, paste them (one per line) into "Aggregate Reply Codes," then click "πŸ“Š Calculate Results" β€” the tool decodes each line, tallies votes per option with percentages, shows a bar chart, and flags any lines it couldn't parse.
Note: "Share a Vote Link" mode generates a link carrying the poll's question and options β€” not the results themselves. Everyone who opens the link votes independently on their own device, and this tool has no server to sync everyone's votes together in real time; you need the reply code sent back manually and pasted in yourself. It's an honest approach that requires a bit of manual coordination β€” if you need true real-time multi-device syncing, you'll need a formal online voting platform with a backend server.

πŸ“– Deep Dive: What an Honest Voting Tool Can and Can't Do Without a Backend

Why "everyone votes on their phone and it auto-aggregates in real time" isn't possible here

Letting 30 people vote independently on 30 different phones, with everyone seeing a live, merged tally of everyone's choices, technically requires a server that every device can reach β€” one that receives each vote as it comes in, totals it, and broadcasts the latest result back to everyone's screen. Like every other tool on this site, this is a static, purely front-end web page with no server and no database β€” every browser tab that opens it is a completely independent, isolated instance. Clicking an option on your own phone has no channel through which it could automatically show up on anyone else's screen. Rather than pretending this is possible and letting people believe results sync automatically, this tool is upfront about the limitation and offers two genuinely useful workarounds within that constraint.

Mode one: manual tallying, for "someone is physically present" situations

If the vote happens in the same physical space (a meeting room, a classroom, a dinner party), the simplest honest approach is to go manual: the host counts raised hands by eye, or listens to people call out their choice, and clicks the card themselves. This tool adds one thing on top of a plain counter β€” it computes each option's percentage live and draws a bar chart, so everyone can see the trend at a glance. That's especially useful when people are shouting out answers and you want to know which option is ahead without manually calculating percentages on paper.

Mode two: share link + reply code, making it work without a server

When voters are spread across different locations and can't gather in one room to vote out loud, this tool uses a "URL parameters + reply code" combination to build an honest, workable alternative: the poll creator encodes the question and options into a share link (using the browser's built-in btoa to turn a JSON object into a text string tucked into a URL parameter β€” the same technique this site's lucky-draw tool uses to carry a name list in a link). When someone opens the link and picks an option, their browser encodes "which option they picked" into a short "reply code," shown on screen. This code isn't automatically sent anywhere β€” it's just a piece of text that the voter has to copy and manually send back through whatever channel they're already using (a message, a group chat comment). The creator then pastes all the codes they receive into the tool's "aggregate" field, where the browser decodes and tallies them one by one. Not a single byte of this ever passes through a server β€” the whole thing relies on the messaging channel people are already using as the "transport layer," which is the most honest way a purely front-end tool can achieve "distributed voting" without a backend.

The limits of this approach: not true duplicate-vote prevention, and not encryption

To be honest, the reply-code mechanism has a few limits. First, someone could in theory forward the same link to someone else to vote twice, or vote multiple times from different browsers β€” the tool has no way to tell "is this the same person" across devices, and can only remember "this browser already voted on this poll" via localStorage on a single device; switching devices or clearing browser data resets that memory. Second, the reply code is just text turned into base64 β€” it is not encryption, and anyone who understands the format can decode exactly what was chosen; its purpose is convenient copy-paste, not concealment from a determined snoop. For everyday dinner polls and small informal surveys these limits are usually harmless, but for a formal vote with strict anti-ballot-stuffing or high-confidentiality requirements (e.g. a major company decision), use a formal online voting system with account verification and server-side duplicate prevention instead.

❓ FAQ

Can everyone's phone votes automatically merge together in real time?

No. This tool has no backend server, so it can't sync choices across devices in real time. "Share a Vote Link" mode works by having each voter get a "reply code" after voting, which they need to manually send back to you to paste into the aggregation field β€” it's an honest, workable alternative, but it does require a bit of manual coordination and isn't fully automatic.

How is "Manual On-the-Spot Tally" different from this site's "Tally Counter" tool?

The core counting mechanism is similar (the host clicks a card to add a tally), but this poll tool additionally computes live percentages and a bar chart, and lets you enter a poll topic to label what's being voted on. If you only need a simple running count with no percentages, the plain "Tally Counter" tool works too.

Does the reply code prevent someone from voting twice?

Not completely. The tool can only remember "already voted" on the same device's same browser via localStorage, so reopening the same link on the same device shows a "you already voted" notice β€” but if someone switches devices, uses a private/incognito window, or simply forwards the link to someone else to vote again, the tool has no way to recognize it's the same person. That's an inherent limitation of a purely front-end tool with no account system.

The reply code looks like gibberish β€” is it encrypted? Is it secure?

It's not encryption, just the browser's built-in base64 encoding turning "which option you picked" into a text string that's easy to copy and paste, instead of typing out "I picked the second one." Anyone who knows the format can decode it. It's meant for convenience, not confidentiality or preventing prying eyes β€” don't use this mode for votes involving sensitive choices that need to stay confidential.

Are the question, options, or codes I enter sent to a server or logged anywhere?

No. All encoding, decoding, and tallying happens in your browser via JavaScript β€” there's no code on this page that sends any data out. Share links and reply codes are things you actively copy and send through a channel of your own choosing (a message, a group chat); the tool itself never uploads or stores anything on your behalf, and refreshing the page clears whatever is currently on screen.

Ad・Leaderboard 728Γ—90