BACK TO DIRECTORY

KindlyVote

by generalistsam

0.0
(0 ratings)

KindlyVote turns any WordPress site into a complete voting and elections platform. Run beauty
pageants, award shows, talent contests, and school, church, or association elections — as free
polls, or as paid contests where every vote is only counted after the payment gateway confirms it.

Built for African organizers, KindlyVote supports Paystack and Flutterwave out of the box,
works in local currencies (NGN, GHS, ZAR, KES, RWF, XOF), and records paid votes only after a
signature-verified webhook — so a vote is never counted before the money is confirmed.

Use cases

  • Beauty pageants and modeling contests
  • Award shows and “of the year” competitions
  • Talent shows and fan voting
  • School and student-union elections
  • Church, NGO, and association elections
  • Any contest that sells votes, or any free poll

Create your event

  • Unlimited voting events, each with its own start and end window (timezone-aware)
  • Paid or free mode per event, with a simple price-per-vote for paid contests
  • Organize contestants into categories or positions, each with its own ready-to-copy shortcode

Contestant profiles

  • Featured photo, bio, brand or business name, and a contest number
  • A drag-to-reorder photo gallery, with thumbnails that swap the main image
  • Social links (Instagram, Facebook, X, TikTok, website) and a video URL

Free voting

  • One vote per email — per contestant, per category, per event, or unlimited
  • Optional CAPTCHA — Cloudflare Turnstile or Google reCAPTCHA
  • Per-IP rate limiting to curb spam
  • Restrict voting to specific email domains (e.g. only @company.com) for internal elections

Paid voting

  • Paystack and Flutterwave, with webhook plus server-side verification
  • The amount is always set on the server — the browser can never change the price
  • Idempotent recording — a webhook and a browser callback can both fire without double-counting

Display and results

  • [kvote_contest] — a responsive grid of contestants with vote buttons
  • [kvote_leaderboard] — a ranked standings board with vote bars
  • A mobile-friendly vote popup, and a Primary colour setting to match your site

Administration and audit

  • A paginated Voting Logs screen — filter by status, voter email, and date range for a full audit trail
  • Add or set a contestant’s vote count manually, recorded as an auditable adjustment
  • A dashboard with live totals, revenue, and top contestants

KindlyVote is built on modern, secure, object-oriented foundations and is designed to scale to
large events. For live real-time results, advanced analytics, and fully hosted elections, see
KindlyVote Cloud at https://kindlyvote.com.

External services

This plugin relies on third-party payment and bot-protection services. None of them are contacted
until you enable and configure that specific service in the plugin settings. If you run only free
events with no CAPTCHA, the plugin makes no external connections.

Paystack (payment gateway)

  • What it is and why: a payment gateway used to collect votes as payments on paid events.
  • What is sent and when: when a voter chooses to pay, the plugin loads Paystack’s checkout script
    from js.paystack.co and sends the transaction details (amount, currency, a unique reference, and
    the voter’s email) to api.paystack.co to create and then verify the payment. Verification also
    happens server-to-server against api.paystack.co, and Paystack confirms payments back to your
    site via a signed webhook.
  • Conditions: only on paid votes, and only if you have entered your Paystack API keys.
  • Terms of service: https://paystack.com/terms
  • Privacy policy: https://paystack.com/privacy/merchant

Flutterwave (payment gateway)

  • What it is and why: a payment gateway used to collect votes as payments on paid events.
  • What is sent and when: when a voter chooses to pay, the plugin loads Flutterwave’s checkout script
    from checkout.flutterwave.com and sends the transaction details (amount, currency, a unique
    reference, and the voter’s email) to Flutterwave. Verification happens server-to-server against
    api.flutterwave.com, and Flutterwave confirms payments back to your site via a signed webhook.
  • Conditions: only on paid votes, and only if you have entered your Flutterwave API keys and selected
    Flutterwave as a gateway.
  • Terms of service: https://flutterwave.com/terms
  • Privacy policy: https://flutterwave.com/privacy-policy

Cloudflare Turnstile (optional CAPTCHA)

  • What it is and why: a bot-protection challenge on the free vote form, used only if you enable
    Turnstile as your CAPTCHA provider.
  • What is sent and when: when the vote form is shown, the challenge widget is loaded from
    challenges.cloudflare.com; on submit, the challenge token and the visitor’s IP are sent
    server-to-server to challenges.cloudflare.com/turnstile/v0/siteverify to confirm the visitor is
    human.
  • Conditions: only on free-vote submissions, and only if Turnstile is configured.
  • Terms of service: https://www.cloudflare.com/website-terms/
  • Privacy policy: https://www.cloudflare.com/privacypolicy/

Google reCAPTCHA (optional CAPTCHA)

  • What it is and why: a bot-protection challenge on the free vote form, used only if you enable
    reCAPTCHA as your CAPTCHA provider.
  • What is sent and when: when the vote form is shown, the reCAPTCHA widget is loaded from
    www.google.com/recaptcha; on submit, the challenge token and the visitor’s IP are sent
    server-to-server to www.google.com/recaptcha/api/siteverify to confirm the visitor is human.
  • Conditions: only on free-vote submissions, and only if reCAPTCHA is configured.
  • Terms of service: https://policies.google.com/terms
  • Privacy policy: https://policies.google.com/privacy

Screenshots

The KindlyVote dashboard — live totals, revenue, and top contestants.

The KindlyVote dashboard — live totals, revenue, and top contestants.

Creating a voting event with dates, mode, and price-per-vote.

Creating a voting event with dates, mode, and price-per-vote.

A contestant profile with photo gallery and social links.

A contestant profile with photo gallery and social links.

The front-end contestant grid with vote buttons.

The front-end contestant grid with vote buttons.

The mobile-friendly vote popup.

The mobile-friendly vote popup.

The leaderboard with ranked standings.

The leaderboard with ranked standings.

Voting Logs — a filterable audit trail of every vote.

Voting Logs — a filterable audit trail of every vote.

Settings — currency and payment gateways.

Settings — currency and payment gateways.

Plugin Details

Active Installs
0
Total Downloads
77
Version
1.4.3
Requires WP
6.4
Requires PHP
8.1
Tested Up To
7.1
Added
2026-09-10
Last Updated
2026-09-10 11:16pm GMT

Ratings

5
0
4
0
3
0
2
0
1
0