Welcome to Uchaguzi Digital
Kenya's Digital Voting Platform โ a comprehensive guide for administrators, voters, and polling agents on how to use the system effectively and securely.
๐ Welcome All Users
Uchaguzi Digital (meaning "Digital Election" in Swahili) is Kenya's digital voting platform designed to make elections transparent, accessible, and secure. The platform supports three types of users:
Election Administrator
Creates and manages elections, candidates, political parties, and approves polling agents.
Voter
Browses active elections, casts votes for candidates across 6 elective positions, and views results.
Polling Agent
Reports polling station tallies, verifies digital results against physical counts, and flags disputes.
๐ Registration All Users
New users must create an account before accessing the platform. Follow these steps:
Open the App & Tap "Register Now"
On the login screen, tap the Register Now link at the bottom to open the registration page.
Fill in Personal Information
Enter your Full Name, National ID Number, Email Address, and Phone Number. Your National ID must be unique โ duplicate IDs are not allowed.
Select Your Location
Choose your County, then Sub-County, then Ward using the cascading dropdown menus. This determines which candidates you'll see when voting.
Choose Your Role
Select either Voter or Polling Agent. Voter accounts are activated immediately. Agent accounts require admin approval before you can access the full agent dashboard.
Set Your Password
Create a secure password and confirm it. Use the eye icon to toggle password visibility. Tap Create Account to complete registration.
๐ Login All Users
Returning users can log in with their registered credentials:
Enter Your Email Address
Type the email address you used during registration.
Enter Your Password
Type your password. Use the eye icon to show/hide it for accuracy.
Tap "Login"
You'll be redirected to the appropriate dashboard based on your role โ Admin Dashboard, Voter Dashboard, or Agent Dashboard.
๐ฅ User Roles All Users
The system has three distinct roles, each with different permissions:
| Role | Access Level | Key Capabilities |
|---|---|---|
| Admin | Full access | Create/manage elections, add candidates & parties, approve agents, view all results |
| Voter | Voting & results | Browse elections, cast votes (one per position per election), view results |
| Polling Agent | Reporting & verification | Submit polling station tallies, verify digital vs. physical counts, flag disputes |
๐ Admin Overview Admin
After logging in as an administrator, you land on the Admin Dashboard with a bottom navigation bar containing four tabs: Overview, Elections, Parties, and Agents.
Welcome & Statistics
The Overview tab greets you with "Karibu, [Your Name]!" and displays four statistics cards:
Total Elections
The total count of all elections created in the system.
Active Elections
Elections currently open for voting.
Upcoming Elections
Elections scheduled but not yet activated.
Pending Agents
Agent accounts waiting for your approval.
Quick Actions
Six action cards give you fast access to core admin functions:
| Action | What It Does |
|---|---|
| Create New Election | Opens the election creation form |
| Manage Candidates | Opens the election list to manage candidates |
| View Results | Opens the Results Dashboard |
| Manage Political Parties | Switches to the Parties tab |
| Manage Active Elections | Switches to the Elections tab |
| Manage Agents | Switches to the Agents tab |
๐ณ๏ธ Manage Elections Admin
Creating a New Election
Tap "Create New Election" or the + Button
From the Overview or Elections tab, tap the create action or the floating action button labeled New Election.
Enter Election Details
Fill in the Election Title (e.g., "Kenya General Election 2027") and a Description.
Set the Election Period
Choose a Start Date and End Date using the date pickers. Only future dates can be selected.
Select Election Positions
Choose which positions are part of this election using the filter chips: President, Governor, Senator, Member of Parliament, Woman Representative, and Member of County Assembly (MCA). Use "Select All" to pick all six.
Tap "Create Election"
The election is saved with an Upcoming status. You can activate it later from the Elections tab.
Managing Existing Elections
The Elections tab lists all elections with their status badge (Active, Upcoming, or Completed). Tap the โฎ menu on any election card for these options:
| Option | Description | Available When |
|---|---|---|
| Manage Candidates | Add, edit, or remove candidates for this election | Always |
| Activate | Change status from Upcoming to Active โ voters can now vote | Upcoming only |
| End Election | Change status from Active to Completed โ voting closes | Active only |
| View Results | Open the Results Dashboard for this election | Always |
| Delete | Permanently remove the election (confirmation required) | Always |
๐ค Manage Candidates Admin
Each election has its own set of candidates organized by position.
Adding a Candidate
Open Candidate Management
From the Elections tab, tap โฎ โ Manage Candidates on an election, or use the "Manage Candidates" quick action.
Tap the + "Add Candidate" Button
A bottom sheet will slide up with the candidate form.
Fill in Candidate Details
Enter the Candidate Name, select their Political Party (from registered parties or "Independent"), and choose the Position they are running for.
Set Geographic Area (If Required)
Depending on the position, you may need to specify location:
- President: No geography needed (national position)
- Governor / Senator / Woman Rep: Select County only
- Member of Parliament: Select County โ Sub-County
- MCA: Select County โ Sub-County โ Ward
Tap "Add Candidate"
The candidate appears in the list under the appropriate position filter.
Editing & Deleting Candidates
- Edit: Tap the โ๏ธ pencil icon on a candidate card to modify their details.
- Delete: Tap the ๐๏ธ trash icon and confirm the removal in the dialog.
- Filter by Position: Use the horizontal chips at the top (All, President, Governor, etc.) to filter the candidate list.
๐๏ธ Political Parties Admin
Manage the list of political parties that candidates can be associated with.
Adding a New Party
Go to the Parties Tab
Navigate to the Parties tab in the bottom navigation bar.
Tap the + "New Party" Button
A dialog opens where you can enter party details.
Enter Party Name & Abbreviation
For example: Name = "United Democratic Alliance", Abbreviation = "UDA".
Choose an Icon or Upload a Logo
Toggle between Icon mode (select from 25 built-in icons) or Logo mode (upload an image from your gallery โ it will be stored in Firebase Storage).
Save the Party
The party appears in the list immediately and becomes available when adding candidates.
You can edit or delete any party using the icons on each party card.
๐ก๏ธ Approve Agents Admin
Polling agents who register through the app require admin approval before they can access the agent dashboard.
Go to the Agents Tab
The Agents tab in the bottom navigation shows a badge count of pending approvals.
Review Agent Details
Each pending agent shows their name, email, and registered location (Ward, Sub-County, County).
Tap "Approve"
The agent's account is activated and they gain full access to the Agent Dashboard. The pending count decreases.
๐ View Results (Admin) Admin
Admins have full access to the Results Dashboard with detailed analytics:
- General Election Results โ aggregated totals across all regions
- County-level Analysis โ select any of Kenya's 47 counties
- Sub-County Breakdown โ drill down within a county
- Ward-level Detail โ the most granular view
- Quick View by Position โ use position chips to see instant charts for any position
Results include bar charts and pie charts showing vote counts, percentages, leading candidates, and detailed ranking tables.
๐ก Voter Dashboard Overview Voter
After logging in as a voter, you land on the Voter Dashboard โ your central hub for elections.
Dashboard Layout
The dashboard greets you with "Karibu, [Your Name]!" along with your role and registered location (Ward, Sub-County, County). Pull down to refresh the page at any time.
Quick Actions
Vote
Jump straight to the election list to cast your vote in active elections.
Results
View results, charts, and analytics for completed elections.
Elections
Browse all available elections โ active, upcoming, and completed.
Active & Upcoming Elections
Below the quick actions, you'll see two sections:
- Active Elections โ Elections currently open for voting. Each card shows the election title, description, and either a Cast Your Vote button (if you haven't voted) or a โ Voted badge with a View Results button.
- Upcoming Elections โ Elections that haven't started yet. These display a ๐ก Upcoming badge โ no voting action is available.
๐ Browse Elections Voter
The Election List screen organizes elections into three tabs:
| Tab | Status Badge | Action on Tap |
|---|---|---|
| Active | โ Active | Opens the Voting Page to cast your vote |
| Upcoming | โ Upcoming | No action โ voting not yet open |
| Completed | โ Completed | Opens the Results Dashboard |
Each election card displays the title, description, and position chips showing which offices are being contested (e.g., President, Governor, Senator).
โ Casting Your Vote Voter
This is the most important action in the system. Follow each step carefully:
Open an Active Election
From the Voter Dashboard or Election List, tap on an active election or its Cast Your Vote button.
Vote Position by Position
You'll see a progress bar and a position indicator (e.g., "1/6 President"). Each screen shows candidates for one position at a time.
Select Your Preferred Candidate
Tap on a candidate card to select them. The selected card highlights with a colored border and checkmark. You see only candidates relevant to your registered geographic area.
Navigate Between Positions
Use the Next button to proceed to the next position, or Previous to go back and change a selection. You can skip a position if you don't wish to vote for it.
Review Your Votes
After the last position, tap Review Votes to see a summary of all your selections before submitting.
๐ Review & Submit Voter
The confirmation screen is your last chance to verify your choices before final submission.
What You'll See
- A warning banner: "Please review your selections carefully. You cannot change your vote after submission."
- A list of all positions with your selected candidate's name โ or "No selection (skipped)" if you left a position blank.
- An edit icon next to each position to go back and change your selection.
- A footer counter: "[X] of [Y] positions selected."
Submitting Your Vote
Review All Selections
Carefully check each position. Tap the edit icon on any position to go back and change it.
Tap "Submit Votes"
A final confirmation dialog appears: "Are you absolutely sure you want to submit your votes? This action is irreversible."
Confirm with "Yes, Submit"
Your votes are recorded atomically (all positions at once). A green checkmark screen confirms: "Vote Submitted! Your vote has been recorded successfully."
๐ View Results (Voter) Voter
After voting or when an election is completed, you can access the Results Dashboard to view election outcomes.
How to Access Results
- From the Voter Dashboard โ tap the "Results" quick action card
- From an Active Election โ if you've already voted, the card shows a View Results button
- From the Election List โ tap any Completed election
What You Can See
The results dashboard provides the same analytics available to admins:
- General Results โ overall totals with bar charts and ranking tables
- County / Sub-County / Ward breakdown โ drill into geographic data
- Position-based quick view โ tap any position chip for instant charts
- Charts show vote counts, percentages, and leading candidates
๐ฐ Agent Overview Agent
Polling agents help ensure election integrity by reporting and verifying results at their assigned stations.
Account Activation
After registration, your agent account is in "Pending Approval" state. You'll see:
- A hourglass icon with the message: "Your agent account is pending administrator approval."
- A Check Status button to refresh and check if you've been approved.
Once an admin approves your account, you gain access to the full Agent Dashboard.
Agent Dashboard (After Approval)
The dashboard greets you with "Karibu, [Your Name]!" and your role as "Polling Station Agent" along with your location badge. Three main actions are available:
Report Results
Submit vote tallies from your polling station for each position.
Verify Results
Compare digital tallies against physical counts and flag any discrepancies.
View Results
Access the Results Dashboard to see election analytics and charts.
๐ Report Results Agent
Submit vote counts from your polling station for verification against the digital tallies.
Select an Election
Choose the active election you're reporting for from the dropdown.
Select a Position
Choose the elective position (e.g., President, Governor, etc.).
Set the Polling Area
Select the County โ Sub-County โ Ward for your polling station using the cascading dropdowns.
Load & Enter Candidate Vote Counts
Tap Load Candidates to fetch the candidate list. For each candidate, enter the vote count from your physical tally sheets.
Submit the Report
Tap Submit Report. The report is saved for admin review and verification.
โ๏ธ Verify Results Agent
Review submitted reports and compare digital tallies against physical counts.
Open the Verify Results Page
From the Agent Dashboard, tap "Verify Results". You'll see a list of all submitted reports. Pull down to refresh.
Expand a Report
Tap on a report to expand it. You'll see the detailed vote breakdown per candidate with vote counts and percentages.
Verify or Dispute
If the numbers match your physical tally, tap Verify (green button). If there's a discrepancy, tap Dispute (red button) and provide a reason in the text dialog. The admin will be notified to review.
๐บ๏ธ Results & Analytics All Users
The Results Dashboard provides comprehensive election analytics across multiple geographic levels.
Geographic Analysis Levels
General Results
Nationwide aggregated results with position tabs, bar charts, and detailed ranking tables.
County Results
Select from any of Kenya's 47 counties. View a grid of all counties or use the dropdown.
Sub-County Results
Select County โ Sub-County to drill down into sub-county level data.
Ward Results
The most granular view: County โ Sub-County โ Ward with full chart analytics.
Understanding the Charts
- Bar Charts โ Default view showing candidate names on the axis with vote count bars, color-coded by candidate.
- Pie Charts โ Alternative view showing vote share distribution with a legend.
- Ranking Tables โ Position-based leaderboard with rank badges (#1 highlighted), progress bars, vote counts, and percentages.
- Summary Card โ Shows total votes cast, number of candidates, and the leading candidate for each position.
Quick View by Position
On the main Results Dashboard, use the horizontal position chips (President, Governor, Senator, etc.) to instantly load a chart for any position without navigating to a separate page.
โ Frequently Asked Questions
General
Q: What positions can I vote for?
The system supports six elective positions: President, Governor, Senator, Member of Parliament, Woman Representative, and Member of County Assembly (MCA).
Q: Why don't I see all candidates?
Candidates are filtered based on your registered geographic location. You'll only see candidates relevant to your County, Sub-County, and Ward. Presidential candidates are visible to all voters.
Q: Can I change my vote after submitting?
No. Votes are final and irreversible. The review screen is your last opportunity to make changes before submitting.
Q: Can I vote more than once in the same election?
No. The system prevents double voting. Once you've submitted your votes for an election, the Cast Your Vote button is replaced with a โ Voted badge.
Accounts & Access
Q: Why can't I select "Admin" during registration?
Admin accounts are provisioned at the system level and cannot be self-registered for security reasons.
Q: I registered as an agent but can't access the dashboard โ why?
Agent accounts require admin approval. You'll see a "Pending Approval" screen until an administrator activates your account. Use the Check Status button to refresh.
Q: How do I log out?
Tap the Logout button in the top-right corner of the app bar on your dashboard.
Elections
Q: What do the election statuses mean?
| Status | Meaning |
|---|---|
| Upcoming | Election created but not yet open for voting |
| Active | Voting is currently open โ voters can cast their votes |
| Completed | Voting has ended โ results are available for viewing |
Q: How do I activate an election?
Admin only: Go to the Elections tab, tap the โฎ menu on an Upcoming election, and select "Activate".
Q: Can I view results while an election is still active?
Yes. Both admins and voters who have already voted can access the Results Dashboard for active elections.