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.

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

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

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
Latest
Product notes, each one hashed to the last.

Levi, the assistant
Levi answers across Groq and Gemini, so it keeps going when one is busy.
prev 53eca784this d4dbddc2
Communities
Communities: any group can open a space and run its own elections.
prev c16506ebthis 53eca784
Sub-groups by course code
Sub-groups match by course code, so each ballot reaches the right department.
prev d955d800this c16506eb
Photos: Ketut Subiyanto, Kampus Production, Yan Krukau, Pexels
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 contributeRuns 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 experienceFAQ
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.

