baalot
NEWAGM voting • Proxy and weighted votes

Every vote, counted
in the open.

Elections for student unions, associations and shareholder AGMs. One vote per verified member, and a receipt for every ballot.

Ask Levi.

The assistant inside the app, by voice or text, in Nigerian English or Pidgin. It runs on Groq, with Gemini when Groq is busy.

  • Vote buttonrolling out · exampleRemind me before the SUG vote closes.Done. Your phone will remind you at 5pm on Friday. Tap Vote now on Home when you are ready.
  • CommunitiesexampleHow do I start a community for my hall?Tap Create, then Community. Share the invite link or code in your hall group. Anyone with the link can join, so keep it inside the hall.
  • Shareholder AGMsexampleI hold 400 shares. How much does my vote count?Your vote carries 400 shares. If you can't attend, you can name a proxy to vote for you.
  • ReceiptsexampleDid my vote go in?Yes. Your receipt is on this phone and its entry is in the election's hash chain. The receipt shows your ballot went in, not who you picked.
  • LeviexampleCan I vote in the SUG election? When does it close?Yes. Voting closes Friday at 6pm. Open the ballot from Home and confirm with your PIN.
  • Sub-groupsexampleWhy can't I see the Engineering ballot?That ballot is for the Engineering sub-group. Your course code puts you in Law, so you see the Law ballot and the university-wide ones.
  • Election graphrolling out · exampleHow is turnout looking?312 of 1,040 members have voted so far, 30%. The count runs about a minute behind.
  • Verified pagesrolling out · exampleIs the Law Society page the real one?Yes, it has the verified tick. Pages that only say "Not on Baalot yet" were imported and have no tick.

The problems we are solving.

What goes wrong in elections run on paper and notice boards, and what baalot does about it, limits included.

  1. Three men on top of a truck hold a large flag up above a crowd.
    Photo: Tope J. Asokere, Pexels

    Results nobody can check.

    The count happens out of sight. When the losing side calls it rigged, there is no record anyone outside the room can look at.

    What baalot does

    Every ballot is written to a hash chain in the same step it is stored, and anyone can replay that chain to see whether a vote was changed or removed.

    LimitTamper-evident, not tamper-proof. Someone holding Baalot's server key could rewrite the chain.

    C3C4C5

  2. Four women, seen from behind, read printed voter lists pasted on a wall.
    Photo: Fatima Yusuf, Pexels

    Am I on the list?

    Members travel to a notice board to find their name, and someone who is not a member can still end up with a ballot.

    What baalot does

    The institution imports its member roster, and each member gets one ballot per election, on their phone.

    LimitOnly as accurate as the roster. Where a membership has no matric number recorded, one person holding two accounts can vote twice.

    C7

  3. A hand pushes a folded ballot paper into the slot of a plastic ballot box.
    Photo: Fatima Yusuf, Pexels

    A ballot you take on trust.

    Once the paper goes into the box, the voter has no way to know it was recorded the way it was cast.

    What baalot does

    Ballots are sealed with AES-256-GCM before they are stored, and each voter gets a private receipt that finds their entry in the chain.

    LimitThe receipt proves your ballot was recorded as cast, not that the tally counted it. Baalot holds the ballot key, because it computes the tally.

    C1C6

Built in the open.

Every change to baalot that reaches members is logged with its date and its limits, and hashed to the one before it.

4 updates logged since Oct 3, 2026

How to contribute
  1. Shareholder AGMsd955d800
  2. Sub-groups by course codec16506eb
  3. Communities53eca784
  4. Levi, the assistantd4dbddc2

Runs on

The software and services baalot runs on.

  • Data and sign-inFirebaseGoogle Sign-In

    Accounts, registers and ballots live in Firebase. Google Sign-In handles login.

  • APIVercel

    Serverless API for votes, tallies and Levi.

  • Edge and storageCloudflare

    DNS and edge so Nigerian networks reach it, and R2 for campaign reels.

  • Mobile appExpoSentry

    The Android app is built with Expo. Sentry reports crashes.

  • IdentityPrembly

    ID checks behind the verified badge.

  • PaymentsPaystack

    Takes payments for the Pro plan.

  • LeviGroqGemini

    Groq runs voice and chat. Gemini answers when Groq is busy.

  • ProofOpenTimestamps

    Timestamps the hash chain on Bitcoin.

For organisers

Run your election.

Import your register, choose who can vote in each ballot and set when polls open and close. Turnout updates live, about a minute behind, and results come back marked provisional.

every ballot · one receipt

Counted in the open.

Your receipt is public. Your choice is not. Ballots join a tamper-evident hash chain, timestamped on Bitcoin through OpenTimestamps, so a changed or deleted vote shows.

What people say

baalot is in early access, so there are no public reviews yet. Ran an election with baalot? Tell us how it went and, with your permission, we will share it here.

Share your experience

FAQ

Questions about Baalot

What is Baalot?

Baalot is an election platform for universities, student unions, NGOs, cooperatives and other organisations in Nigeria and across Africa. Voters cast ballots in the Baalot mobile app, and election administrators set up and run elections from the web console at admin.baalot.site.

Is Baalot the same as "ballot"?

No. Baalot (spelled B-A-A-L-O-T) is the name of the platform, a play on the word "ballot". Its website is baalot.site.

Who is Baalot for?

Any organisation that runs elections for its members: university student union and faculty elections, departmental associations, NGOs, cooperatives, professional bodies and companies. Over 110 Nigerian institutions are already listed in the Baalot directory.

How does Baalot stop people from voting twice?

Votes are enforced on Baalot's server, not in the app. A ballot opens only for a member matched to the institution's voter list (and the right sub-group, such as a faculty or department), confirmed with their voting PIN, and the server accepts exactly one vote per identity.

Are votes on Baalot anonymous?

Pseudonymous, not anonymous. Your choice is encrypted with AES-256-GCM before it is stored, and ballots are recorded under a pseudonymous anchor, not your name. Baalot runs the servers and holds the key that opens ballots to count them, so Baalot does not claim ballots are hidden from Baalot itself.

How can a voter check that their vote was counted?

Every accepted ballot is sealed into a tamper-evident hash-chain, and the voter gets a cryptographic receipt. Anyone can verify the chain through Baalot's public verification API; altering any past ballot would break every hash after it.

Is Baalot's audit chain a public ledger?

No. Baalot's audit chain is a tamper-evident hash chain that Baalot operates itself. No ballot, vote or result is published to any public ledger.

Does Baalot verify voters with NIN or BVN?

Optionally. Voters can earn a verified-identity badge by checking their NIN or BVN with a liveness selfie and face match, provided through Prembly. Baalot does not connect directly to NIMC or the CBN.

How much does Baalot cost?

The Starter plan is free for up to 500 voters and one active election. The Institution plan is ₦150,000 per election with unlimited voters. Enterprise pricing is custom for government bodies and large organisations.

How do I run an election on Baalot?

Request access at baalot.site/contact. Once your institution is set up, administrators create positions, candidates and eligibility rules in the admin console, schedule when voting opens and closes, and follow live tallies and final results.

Early access

Hear first when baalot lands on the Play Store.

Leave your email and we will tell you the day the Android app goes live, then send product notes as new features ship.

Launch news and product updates only. Reply to any email to unsubscribe. See our privacy policy.

Early access

We will email you the day the Android app is on the Play Store, then send product notes as new features ship.